我有一个我想使用的网站,它始终具有相同的部分和相同的 id 以及我想要显示的所有内容。我对 javascript 不是很了不起,我想知道如何删除除特定部分之外的所有内容。
最好的方法是只做一个遍历 DOM 中所有元素的循环并删除除我想要保留的 id 部分之外的所有内容吗?如果我采用这种方法,如何防止它删除该部分内的所有元素?
我有一个我想使用的网站,它始终具有相同的部分和相同的 id 以及我想要显示的所有内容。我对 javascript 不是很了不起,我想知道如何删除除特定部分之外的所有内容。
最好的方法是只做一个遍历 DOM 中所有元素的循环并删除除我想要保留的 id 部分之外的所有内容吗?如果我采用这种方法,如何防止它删除该部分内的所有元素?
也许另一种更有效地做到这一点的方法是:
document.body.innerHTML = document.getElementById( 'saveContentId' ).innerHTML
删除一个节点包括其所有子节点,因此您无需遍历整个文档中的所有元素。我看到两种可能性:
document.body
,同时删除所有兄弟。document.body
并重新附加该部分第一个解决方案对我来说似乎更干净,所以这里有一些示例代码:
function removeEverythingBut(el) {
while (el != document.body) {
var par = el.parentNode;
for (var i=par.childNodes.length-1; i>=0; i--)
if (par.childNodes[i] != el)
par.removeChild(par.childNodes[i]);
el = par;
}
}
// usage:
removeEverythingBut(document.getElementById("my-section"));
您可以只保存您想要的元素并删除所有其他元素。我也推荐使用 Jquery