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

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

for循環里用var i=0;i<content.childNodes.length;i++為什么實現不了?

for循環從0到子節點長度的值,就無法實現清楚,反過來從子節點長度的值到0,就可以實現,為什么呢?

正在回答

3 回答

function?clearText()?{
??var?content=document.getElementById("content");
??//?在此完成該函數
??var?a?=?content.childNodes;
??for?(var?i?=?0;?i?<?a.length;?i++){
??????content.removeChild(?content.childNodes[0]?);
??????i--;
??}
}
</script>


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

1.用.length來限定for循環次數的時候,length的長度會變。數組里面的[i]也是變化的。
2.空白文本的節點也是要考慮進去的。(這也是為什么例子里面是childNodes[1]而不是childNodes[0]的原因,因為[0]是空白節點)

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

慕絲4318731

請問為什么length的長度會變長,而且就算考慮了空白節點,但是也不影響刪除???
2016-09-05 回復 有任何疑惑可以回復我~
#2

慕用5675268 回復 慕絲4318731

我是這樣理解的啊,可以幫助理解,但是不保證正確。h1 的標簽,還有空白便簽,差不多11個對吧,然后你用i++正向刪除的話,每刪除一個,這個content.childNodes.length,就在變化對吧,循環一次,少一個,其次,你用正向刪除的話,i=0,刪第一個,其實是刪除的空白節點,刪除之后,你的第一個h1標簽,就變成了第一個節點了,i=1的時候,就開始刪除第2個節點了,這個時候刪除的是第一個h1標簽后面的空白節點。依次類推,每刪除一個,你的節點就會往前進一個的,所以倒序刪除的話,前面的順序都是不變的。
2016-09-06 回復 有任何疑惑可以回復我~
#3

慕絲4318731 回復 慕用5675268

謝謝!明白了
2016-09-09 回復 有任何疑惑可以回復我~

不知道.....

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

舉報

0/150
提交
取消

for循環里用var i=0;i<content.childNodes.length;i++為什么實現不了?

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

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

幫助反饋 APP下載

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

公眾號

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