如何解决在Javascript中按值分配
| 我想将DOM树的一部分分配给全局变量,以便不再使用我的变量和DOM树进行引用。 DOM树的一部分应复制到全局变量,而当我对DOM树进行更改时,则不应更改我的变量。 普通分配不会这样做。 使用代码段进行说明:var children;
var Test {
x: function(e) {
...
children = e.target.ownerDocument.getElementsByTagName(\'body\')[0].childNodes; // rowX
...
e.target.ownerDocument.getElementsByTagName(\'body\')[0].innerHTML = somethingElse; // rowY
}
}
问题是我想在children
变量(rowX)中存储一些内容,并且rowY会改变children
变量作为副作用,因此DOM树有一些参考。
谢谢你的小费
解决方法
在这种情况下,您可能要使用
cloneNode(deep:Boolean)
方法:
var myVar = myNode.cloneNode(true);
, DOM的“按值”部分应该在哪里?
尝试完成类似任务的一种方法是使用jQuery:
var chunkByVal = $(\"#bigChunkOfDOM\").html();
, http://jsfiddle.net/KH8CA/
如果您使用jquery,这非常容易。只需抓住您的元素并将其克隆。
var backupDom = $(\"#id\").clone(true);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。