我想将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树的引用。
谢谢您的提示
答案 0 :(得分:3)
在这种情况下,您可能希望使用cloneNode(deep:Boolean)
方法:
var myVar = myNode.cloneNode(true);
答案 1 :(得分:1)
DOM的“按价值”部分应该在哪里?
你可以尝试用jQuery实现这样的事情:
var chunkByVal = $("#bigChunkOfDOM").html();
答案 2 :(得分:1)