亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么反向遍歷可以一次清楚所有節點,而正向遍歷要點好幾次?

http://img1.sycdn.imooc.com//5de4f0e100015b8012460838.jpg

http://img1.sycdn.imooc.com//5de4f0e10001c5e812500835.jpg

為什么反向遍歷可以一次清楚所有節點,而正向遍歷要點好幾次?

正在回答

5 回答

我遇到了同樣的問題,在就業班里問了老師,老師解釋的很好,我把代碼和老師的解釋分享給你:


<!DOCTYPE?HTML>

<html>

<head>

<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8">

<title>刪除節點removeChild()</title>

</head>

<body>

<div?id="content">

??<h1>html</h1>

??<h1>php</h1>

??<h1>javascript</h1>

??<h1>jquery</h1>

??<h1>java</h1>

</div>


<script?type="text/javascript">

function?clearText()?{

??var?content=document.getElementById("content");

??var?hs=content.childNodes;

??var?len=hs.length;

??????for(var?i=0;i<len;i++){

??????????console.log(hs);

????????content.removeChild(hs[i])

??????}

}

</script>


<button?onclick="clearText()">清除節點內容</button>

</body>

</html>

http://img1.sycdn.imooc.com//5de66298000128c506860563.jpg

http://img1.sycdn.imooc.com//5de662ca0001dfb914910469.jpg

http://img1.sycdn.imooc.com//5de662e80001636705990103.jpg

http://img1.sycdn.imooc.com//5de662fb0001206e13740232.jpg

http://img1.sycdn.imooc.com//5de663150001448207000602.jpg


26 回復 有任何疑惑可以回復我~
#1

慕圣大越越

太贊了,這下完全理解了
2020-02-21 回復 有任何疑惑可以回復我~
#2

JJLinNNnnn

非常感謝
2020-02-26 回復 有任何疑惑可以回復我~
#3

風箋

你這老師講的真好!
2020-04-19 回復 有任何疑惑可以回復我~
#4

ZKKL

太棒了 感謝你的回答
2020-05-06 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//5eddaa38000152bb13110827.jpg?這就是”金剛無敵葫蘆娃“兄弟說的第二種情況

0 回復 有任何疑惑可以回復我~

這是最有價值的一個解答

原來是因為每次刪除一條后,整個數組順序發生了變化。

解決思路有兩種

1、一直刪最后一個,即倒序刪,這樣就不會漏了

2、一直刪第一個,即正序刪,不要加i++,這樣也不會漏

4 回復 有任何疑惑可以回復我~

niupi 謝謝大佬

0 回復 有任何疑惑可以回復我~

因為i在自增,而節點的長度在減少,所以刪一條,就會漏一條數據。

正著刪也可以實現,把 i++ 變為 i? ,不讓它增加,這樣就不會漏過一條數據了

8 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么反向遍歷可以一次清楚所有節點,而正向遍歷要點好幾次?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號