我已經在每個頁面上有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