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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

下面的代碼為什么不會無限循環下去呢?我刪除了一個子元素也添加了一個子元素,應該是無限循環的吧?

下面的代碼為什么不會無限循環下去呢?我刪除了一個子元素也添加了一個子元素,應該是無限循環的吧?

徐錦杰 2016-11-06 19:46:06
<!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");? ? var conCl=content.childNodes;? ? if(conCl[0]!=1)? ? {? ? ? ? content.removeChild(conCl[0]);? ? }? ? var x=content.removeChild(conCl[0]);? ? var newh1=document.createElement("h1"); ?? ? newh1.innerHTML=x.innerHTML; ?? ? content.appendChild(newh1);}</script><button onclick="clearText()">清除節點內容</button></body></html>
查看完整描述

3 回答

已采納
?
stone310

TA貢獻361條經驗 獲得超191個贊

?if(conCl[0]!=1)這里是?if(conCl[0].nodeType!=1)

查看完整回答
反對 回復 2016-11-06
?
0101

TA貢獻11條經驗 獲得超3個贊

因為刪除了兩個,標簽與標簽之間的空白也是算節點的。一開始有11個節點,你點一次,就刪除最開始的那個空白節點,然后把第二個 h1 節點移到最后面,第二次刪除了第三個空白節點,第三次刪除了第五個空白節點,第四次刪除了第七個空白節點,第五次刪除了第九個空白節點,第六次刪除了第十一個空白節點,也就是最后一個,所以從第七次點擊開始,都會少一個。

查看完整回答
反對 回復 2016-11-06
  • 0101
    0101
    是啊,if(conCl[0].nodeType!=1) 就是對的
  • 0101
    0101
    而且其實不用先刪除,獲取內容,新建一個節點再插入,直接 appendChild(conCl[0]) 就可以。
  • 3 回答
  • 0 關注
  • 1492 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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