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

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

關于許多同學的正序倒敘循環問題

<!DOCTYPE HTML>

<html>

<head>

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

<title>無標題文檔</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");

? // 在此完成該函數

? for(var i=0;i<content.childNodes.length;i++)

? {

? ? ? content.removeChild(content.childNodes[i]);

? }

??

}

</script>


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




</body>

</html>

以上是正序循環的代碼 但是會發現會留下第二個和第四個節點刪不盡

正在回答

4 回答

不應該在循環中使用length作為循環結束的條件,因為在循環中length會變的。每次循環結束 i++ length--,從循環來考慮,相當于刪除了兩個節點,然而實際上只刪除了一個節點。這就是這個問題bug的來源

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

慕UI8290743

而倒敘可以成功,是由于只使用length作為循環變量初始值,而不是在循環過程中多次使用。這是這種寫法沒有bug的原因
2019-05-03 回復 有任何疑惑可以回復我~

非常感謝,困擾很久的問題總算解決了

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

我試了正序 和你的代碼一樣 是可以刪完的

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

是因為當循環開始 刪掉第一個節點時 <h1>php</h1>本來在第二個節點變成了第一節點,但下一輪循環i已經加一了,所以會跳過這個節點沒法刪除,? <h1>jquery</h1>同理。所以參考答案用了倒敘循環

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

舉報

0/150
提交
取消

關于許多同學的正序倒敘循環問題

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

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

幫助反饋 APP下載

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

公眾號

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