我必须删除 body
中的所有内容(DOM 中的图像除外)。
所以,这就是我所做的。
将 img 标签存储在变量中。
var img_nodes = document.getElementsByTagName('img');
删除了
body
内的所有内容var body_node = document.getElementsByTagName('body'); body_node[0].innerHTML = ''
将存储的 img Node 添加为子 Node
对于每个(img_nodes 中的子 Node ){ body.appendChild(子); }
但是在我运行 body_node[0].innerHTML = ''
后,img_nodes 变得未定义
。
我猜发生这种情况是因为元素 Node 作为对象(作为引用)存储在列表中。如何保存我选择的 img_nodes 对象?
最佳答案
您可以在清除正文内容之前克隆图像 Node 。请参阅the documentation on cloneNode 。示例:
var cloned_nodes = [];
for each (child in img_nodes){
cloned_nodes.push(child.cloneNode(true));
}
关于javascript - 如何在 Javascript 中按值(而不是引用)保存所选元素的 Node ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36646644/