置頂回答的一些問題..求指導
有一段原話是 :"不要把i<content.childNodes.length做為判斷條件"
然后老師接下來的代碼中:
?function?clearText()?{??
?
?var?content=document.getElementById("content");
?
??nodel=content.childNodes.length
?
??for(i=0;i<nodel;i++)??{?????把這里的nodel替換為content.childNodes.length,那不就跟之前那句話相沖突了嗎?
?
??????var?x=content.removeChild(content.childNodes[0]);??}
?
???}求大神指教!!!
2017-09-27
function?clearText()?{ ??var?content=document.getElementById("content"); ??//?在此完成該函數 ??for(var?i?=?0?;?i?<?content.childNodes.length?;?i?++){//此處content.childNodes.length為動態的,因為循環每進行一次都會刪除一個childNode,所以每次循環content.childNodes.length都會減少一個單位長度直到最后為0不滿住0<0. ??????content.removeChild(content.childNodes[i]);? ??????i--?//這里我們用i--抵消了前面的i++?這樣i?就一直為0每次都只刪除content.childNodes的第一個childNode ??} }這是我的代碼 .大家一起交流都是學員
2017-09-27
content.childNodes.length在循環時是動態變化的
你刪一個他就少一個,也就是從5一直到0
但是你 在循環前,也就是開始刪除前把他的值 也就是 5 賦值 給了nodel 既??nodel=content.childNodes.length.
這是一次賦值也就是說 nodel 之后一直是 5 雖然content.childNodes.length變了值 ,但nodel已經是5了也再也和content.childNodes.length沒關系了.不管content.childNodes.length怎么變,nodel依舊是5.
表達能力有點不夠 希望能看懂
2017-09-27
帶入循環