这与问题javascript cloneNode and properties有关。为什么cloneNode排除自定义属性?
我看到相同的行为。 Node.cloneNode不超过我自己添加(代码从原来的职位)的任何属性复制:
var theSource = document.getElementById("someDiv")
theSource.dictator = "stalin";
var theClone = theSource.cloneNode(true);
alert(theClone.dictator);
theClone
不含任何财产“独裁者”。
我一直无法找到任何解释为什么这种情况。 documentation on MDN指出cloneNode
“复制其所有属性及其值”,该行直接从DOM specification本身取得。
这对我来说似乎打破了,因为它使得它几乎不可能做到包含自定义属性的DOM树的深层副本。
我在这里错过了什么吗?
我可能只是避免使用cloneNode,如果我想克隆一些东西,我会实现自己的克隆函数来克隆我认为合适的元素(例如,您可以使用构造函数创建一个新元素,然后复制属性,复制属性和可能的其他自定义的东西取决于你的具体情况)。 – trusktr 2016-08-21 06:34:00