我創建了多個div,其中class="extra"
。然後我添加刪除按鈕到每個div爲了刪除每個div分別。所以我的代碼是:在遞歸中刪除當前父節點
var exr = document.getElementsByClassName("extra");
for(var i = 0 ;i<exr.length;i++){
var delbt = document.createElement("button");
delbt.className="floatbutton_3 font_b"
delbt.innerHTML="delete";
exr[i].appendChild(delbt);
delbt.onclick= function(i){ return function(){ exr[i].parentNode.removeChild(exr[i]) } }(i);
}
問題是,按鈕無法刪除它應該刪除的按鈕。看來在最後刪除之後,索引被改變了。如何避免這種情況發生?
謝謝!
爲什麼用jQuery標記,如果你不使用它?你打算使用jQuery嗎? –
您正在遍歷'inserter',同時訪問'exr',並修改nodeList __does__更改索引。重複相反的方式。 – adeneo
嘗試向下,例如'for(var i = exr.length; i> 0; i - ){' – davidkonrad