為什么要雙擊才能移除一個節點??求教
function clearText() {
? var content=document.getElementById("content");
? // 在此完成該函數
?
???? var q= content.childNodes[0];
???? content.removeChild(q);
? }
? 我感覺一次就可以移除一個啊,為什么呢??
function clearText() {
? var content=document.getElementById("content");
? // 在此完成該函數
?
???? var q= content.childNodes[0];
???? content.removeChild(q);
? }
? 我感覺一次就可以移除一個啊,為什么呢??
2018-07-12
舉報
2018-08-03
因為js中的設定是這樣的,當這個結點數組中的某一個數組元素被刪除,這個元素后面的所有元素都會前移一個單位,即他們的下標都會減一,且數組的長度也會減一,所以我的建議是把循環結束的條件控制為孩子結點數組長度為零時結束循環,每次只刪除第一個數組元素。
2018-07-13
只點一下移除的是空白節點,打印content的子節點出來可以發現是這樣的
> childnodes
NodeList(11) [text, h1, text, h1, text, h1, text, h1, text, h1, text]
2018-07-12
?var content=document.getElementById("content");
? // 在此完成該函數
??
???? var q= content.childNodes[0];
你聲明變量的都在函數里面,當你點擊運行這個函數的時候,它實際上第一遍是獲取到content這個ID而已,后面刪除節點識別不出來,建議在全局里面聲明變量