我已经在每个页面上有3个现有的盒子(div),每个盒子都有唯一的ID(1,2,3)。我想每个人都有一个按钮,允许用户在下面添加新的框。这些框应该遵循现有的编号。但是,这样做也意味着更新新版本下已存在的框的ID,以便数字匹配。javascript为渐进ID添加新元素并更新现有的元素
这是我的代码:
function add_box(n) {
document.getElementById("box"+(n<)).setAttribute("id", "box");
var div = document.createElement("div");
div.id="box"+(n+1);
var txt = document.createTextNode("A new box");
div.appendChild(txt);
var newbox = document.getElementById("box"+n);
insertAfter(div,newbox);
}
HTML
<div id="box1">Whatever</div><input type="button" onclick="add_box(1)">
<div id="box2">Whatever</div><input type="button" onclick="add_box(2)">
<div id="box3">Whatever</div><input type="button" onclick="add_box(3)">
它显然不工作,因为我想我需要与所有包含“盒子”的ID元素的数组和然后以某种方式更新他们的数字,但我不知道如何做到这一点。
谢谢。
请勿张贴产生控制台错误代码。检查你的控制台。然后修复你的语法。如果你仍然难倒,**然后**你可以发布。如果有任何机会,你不知道如何查看控制台,那么在你做任何事情之前马上解决它。顺便说一句,你为什么重置现有元素的ID? – 2014-12-02 06:17:04
“盒子”+(n <)'评估的是什么? * insertAfter *函数在哪里定义? – RobG 2014-12-02 06:21:15
@ torazaburo - 因为它在现有的div之间插入新的div(或者应该是)。 – RobG 2014-12-02 06:23:37