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

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

請教任務代碼問題

?function?clearText(){
????????var?content?=?document.getElementById("content");
????????var?node?=?content.childNodes;
????????var?n?=?node.length;
????????alert(n);
????????for(var?i=0;i<n;i++){
????????????content.removeChild(node[i]);
????????}
????}
</script>

為何不能一次性刪除,我在進入循環之前已經用var node和var n 保存了長度和原數組了,為什么node在循環里的長度還是在變化,有點想不明白,求指教。

正在回答

1 回答

<script type="text/javascript">

function clearText(){

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

? ? ? ? var node = content.childNodes;

? ? ? ? for(var i=0;i<node.length;i++){

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

? ? ? ? ? ? i--;

? ? ? ? }

? ? }

因為childNodes獲得子節點的數據時實時的,也就是說你減一個,它的長度也會減一。后面那個循環的時候i每次加一,長度減一。就相當于每次減了2個,所以導致你的n第一次是5,第二次是2。這中情況。所以每次循環把多減掉的一加上取就可以。 ?這是我的理解。

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

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468835    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

請教任務代碼問題

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

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

幫助反饋 APP下載

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

公眾號

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