課程
/前端開發
/JavaScript
/JavaScript進階篇
為什么輸出結果是這樣的
刪除掉的節點是:html刪除掉的節點是:javascript刪除掉的節點是:java
而且不輸出“所有節點已刪除”
2018-03-25
源自:JavaScript進階篇 9-14
正在回答
for循環第一次,i=0,刪除html節點;
第二次,i=1,因為第一次循環刪除了一個節點,html語句中的結構變為:<div id="content"><h1>php</h1><h1>javascript</h1><h1>jquery</h1><h1>java</h1></div>
所以刪除的content.childNodes[1]就是javascript節點,而不是php節點;
第三次,i=2,前兩次循環刪除了兩個節點了,所以這里的content.childNodes[2]指的是java;
第四次,i=3時,html語句為:<div id="content"><h1>php</h1><h1>jquery</h1></div>,只有兩個節點,查找不到第四個節點,所以出錯了,后面的“所有節點已刪除”也輸出不了
大概是這樣。
錯誤的點在于 1.長度信息沒更新,即c值;2.content.childNodes的長度會變,所以執行循環后,i++會引發漏刪節點
大概就是這樣。
有誤可更正。
慕移動5947621 提問者
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
3 回答為什么只能輸出一個結果
2 回答為什么輸出結果是這樣的?
2 回答為什么這樣輸出結果這樣一個數字6
2 回答為什么總分輸出結果是NaN?
1 回答為什么這樣沒有輸出的結果呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-03-26
for循環第一次,i=0,刪除html節點;
第二次,i=1,因為第一次循環刪除了一個節點,html語句中的結構變為:<div id="content"><h1>php</h1><h1>javascript</h1><h1>jquery</h1><h1>java</h1></div>
所以刪除的content.childNodes[1]就是javascript節點,而不是php節點;
第三次,i=2,前兩次循環刪除了兩個節點了,所以這里的content.childNodes[2]指的是java;
第四次,i=3時,html語句為:<div id="content"><h1>php</h1><h1>jquery</h1></div>,只有兩個節點,查找不到第四個節點,所以出錯了,后面的“所有節點已刪除”也輸出不了
大概是這樣。
錯誤的點在于 1.長度信息沒更新,即c值;2.content.childNodes的長度會變,所以執行循環后,i++會引發漏刪節點
大概就是這樣。
有誤可更正。