為什么會有不一樣的效果?
為什么會有不一樣的效果?
? //法二,一次性清除節點內容
/*? ?
?? for(var i=content.childNodes.length-1;i>=0;i--){
????? var chnode=content.childNodes[i];
????? content.removeChild(chnode); ?
?? }
*/
? //法三,多次方清除節點內容
/*
?? for(var i=0;i<content.childNodes.length;i++){
??? var chnode=content.childNodes[i];
??? content.removeChild(chnode); ?
? }
*/
2016-08-14
每清理一個子節點,content.childNodes.length就減1,最后一個子節點節點的角標也會減1。
所以法二一直在循環清除每個新的子節點序列中最后一個子節點,直到沒有子節點。
而法三,第一次循環,首先子節點序列長度在遞減,最多清除一半,可能還包含空白節點。有點類似二分法。所以要清除多次,每次差不多清一半。