在實現以下功能的時候,當輸入爲aj的時候須要將下面的列表刪除而後建立新的列表在將後臺的數據導入列表node
可是在刪除列表的時候我寫了以下代碼:spa
function clearLi(){ var content_ul = document.getElementById("moreword"); var ul_childs = content_ul.childNodes; var len = ul_childs.length; for(var i = 0; i < len; i++){ content_ul.removeChild(ul_childs[i]); } }
可是發現有點毛病:code
看着這些數據,因而恍然大悟,應該是在刪除第一個node節點後,後面的節點會一一貫前進一位(大概是這麼個意思吧)因此爲了證實個人想法我寫了以下代碼:blog
function clearLi(){ var content_ul = document.getElementById("moreword"); var ul_childs = content_ul.childNodes; var len = ul_childs.length; for(var i = 0; i < len; i++){ content_ul.removeChild(ul_childs[0]); } }
效果以下:rem
一會兒就行了,因此個人想法沒得錯誤。get
解決方案: 1. 只刪除第一個node節點;io
2. 在刪除節點的時候,能夠從最後一個開始遍歷刪除。代碼以下:function
function clearLi(){ var content_ul = document.getElementById("moreword"); var ul_childs = content_ul.childNodes; var len = ul_childs.length; for(var i = len-1; i >= 0; i--){ content_ul.removeChild(ul_childs[i]); } }