我正在嘗試使下面的一段代碼爲每個子節點工作一次。該函數也按照邏輯刪除節點,因爲多於一個子節點似乎不會遍歷每個子節點。正確遍歷節點 - javascript childNodes
//Deleting from child node
var target =document.getElementById(element.name).childNodes[0];
if(target.hasChildNodes())
{
var children = new Array();
children = target.childNodes;
for(child in children)
{
if(children[child].tagName == 'DIV'){
//target.removeChild[child];
var deleteChild = document.getElementById(target.childNodes[child].id);
deleteChild.parentNode.removeChild(deleteChild);
}
}
}
在特殊情況下,我有4個「Div」作爲孩子,這隻能刪除兩個DIV,而不是全部。 我認爲長度也在不斷變化,因此它無法得到所有的孩子。
這是正確的遍歷方式,我錯過了明顯的東西?
而不是解釋你描述的內容,點擊編輯器中的<<>按鈕並顯示你有什麼 - 添加HTML並且你有一個[mcve] - 記得輸出和預期輸出 – mplungjan
當使用[ 'childNodes'](https://developer.mozilla.org/en-US/docs/Web/API/Node/childNodes#Notes),你還在收集textNodes,空格,甚至評論。由於您沒有發佈任何HTML,因此無法確定,而您正在討論穿越DOM ......這就像在沒有地圖的情況下解釋地理信息一樣。 – zer00ne