JS删除某个元素下的子元素,只能删除一部分 遍历子元素时,必须倒序,因为正序的时候,当索引为0的子节点被删除后,原来索引为1的就变成了0,而这时 i 已经变成了1,程序继续走时就会删除原先索引为2的现在为1的节点,结果就是最后只删除了一半的节点。 function remove(parentNode) { let nodes = parentNode.childNodes; // 必须倒序删除,否则删不干净 for (let i = nodes.length - 1; i >= 0; i--) { parentNode.removeChild(nodes[i]); } }