递归删除节点的函数
2009年04月19日如果要递归的删除一个DOM节点下的所有子节点,可以用如下的函数:
function removeChildrenRecursively(node) { if (!node) return; while (node.hasChildNodes()) { removeChildrenRecursively(node.firstChild); node.removeChild(node.firstChild); } } |
在使用过程中发现,用设置”innerHTML”为空也可以起到相同的效果。如:
node.innerHTML=""; |
在无需递归删除的时候使用后者会造成一些困扰,需要注意,可以只用删除第一层子节点的函数,如:
function removeAllChildren(node) { if (!node) return; while (node.hasChildNodes()) { node.removeChild(node.firstChild); } } |