繁体   English   中英

如何在Javascript中按值(而不是引用)保存所选元素的节点?

[英]How can I hold the selected element's node by value (and not reference) in Javascript?

除了DOM中的图像,我不得不删除body所有内容。 所以,这就是我所做的。

  1. 将img标签存储在变量中。

    var img_nodes = document.getElementsByTagName('img');

  2. 去除body所有东西

    var body_node = document.getElementsByTagName('body'); body_node[0].innerHTML = ''

  3. 将存储的img节点添加为子节点

    for each (child in img_nodes){ body.appendChild(child); }

但是在我运行body_node[0].innerHTML = '' ,img_nodes变得undefined

我猜想是因为元素节点作为对象(作为参考)存储在列表中。 如何保存所选的img_nodes对象?

您可以在清除正文内容之前克隆图像节点。 请参阅cloneNode上的文档 例:

var cloned_nodes = [];
for each (child in img_nodes){
    cloned_nodes.push(child.cloneNode(true));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM