我有一个嵌套了许多div的网页。如何删除除1之外的所有具有特定ID的元素及其子元素。
我想保留该div及其子级,并删除其他所有内容,甚至包括其父级
以下代码不起作用,它也删除了子代
var elms = document.getElementsByTagName('*');
for (var i = 0; i < elms.length; i++) {
if (elms[i].id != "div63") {
elms[i].parentNode.removeChild(elms[i])
}
};
我想要一个非jQuery解决方案。
最佳答案
您可以保存对节点的引用,删除所有引用,然后将节点放入正文中:
var saved = document.getElementById('div63');
var elms = document.body.childNodes;
while (elms.length) document.body.removeChild(elms[0]);
document.body.appendChild(saved);
Demonstration