gpt4 book ai didi

javascript - 为什么 cloneNode 会排除自定义属性?

转载 作者:数据小太阳 更新时间:2023-10-29 05:50:30 27 4
gpt4 key购买 nike

这与问题 javascript cloneNode and properties 有关.

我看到了相同的行为。 Node.cloneNode 不会复制我自己添加的任何属性(来自原始帖子的代码):

    var theSource = document.getElementById("someDiv")
theSource.dictator = "stalin";

var theClone = theSource.cloneNode(true);
alert(theClone.dictator);

theClone 不包含任何属性“dictator”。

我一直没能找到任何解释为什么会这样。 documentation on MDN声明 cloneNode“复制其所有属性及其值”,这一行直接取自 DOM specification本身。

这对我来说似乎很糟糕,因为它几乎不可能对包含自定义属性的 DOM 树进行深度复制。

我是不是漏掉了什么?

最佳答案

属性不等于属性。

改用 setAttribute() 和 getAttribute()。

var theSource = document.getElementById("someDiv")
theSource.setAttribute('dictator','stalin');

var theClone = theSource.cloneNode(true);
alert(theClone.getAttribute('dictator'));

关于javascript - 为什么 cloneNode 会排除自定义属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11854283/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com