我要删除除第一个孩子外的所有li
此代码将删除所有li

function clearAll() {
    var sidemenu = document.getElementById('side_menu');
    while (sidemenu.childNodes.length > 1) {
            sidemenu.removeChild(sidemenu.lastChild);
    }
}


有什么建议吗?

最佳答案

尝试做:

while (sidemenu.childNodes.length > 2) {
  //...
}


(在while循环中更改条件。)

sidemenu.childNodes实际上有一个额外的文本字段。因此,我们需要在while循环条件下增加数字。

jsFiddle Demo(检出控制台)

这样,您的<li>除第一个外的所有都将被删除。

关于javascript - 删除子节点,但首先使用JavaScript除外,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29603059/

10-12 13:07