我有一個網站,我想採取的總是有相同的部分與我想顯示的所有內容相同的ID。我不是很驚人的JavaScript,我想知道如何刪除一切,但一個特定的部分。Javascript部分
最好的方法是做一個循環遍歷DOM中的所有元素,並刪除所有內容,但是我要保留的id部分?如果我採用這種方法,我該如何避免刪除該部分內的所有元素?
我有一個網站,我想採取的總是有相同的部分與我想顯示的所有內容相同的ID。我不是很驚人的JavaScript,我想知道如何刪除一切,但一個特定的部分。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"));
雖然我會嘗試一下,讓我們看看它是否更好! –
我的目的似乎沒有任何區別(採取基本的文章和刪除一些不必要的數據)。無論如何感謝您的意見! –
哈。謝謝你,先生。 –
根據節的大小,這可能不會比通常的DOM方法更高效。也不要忘記'innerHTML'像刪除的聽衆 – Bergi
的缺點,它可能可以更有效地完成。對我而言,儘管這一行代碼確實有奇效。 –