使用 jquery data() 设置元素的数据属性,如下所示:
HTML:
<div id="some-el" data-number="0"></div>
JQ:
$("#some-el").data("number",1);
众所周知,数据在内部发生变化。所以在 inspector 中你实际上看不到新值是 1。但是除此之外,如果我在具有新数据值的元素上进行克隆,jquery 会克隆没有当前数据值的原始 dom 元素!!!
$("#some-el").clone();
结果 <div id="some-el" data-number="0"></div>
内部和可见!
我想我可以通过简单地使用 attr("data-number",1);
来避免这个问题。
无论如何,我想问你 dat() 的这种行为是否正确?我所看到的是预期的吗?为什么?
最佳答案
我认为 clone 可以接受一个 bool 值来指示具有数据和事件的 Clone,因此 Clone(true)
应该可以工作:http://api.jquery.com/clone/
这是一个有效的 fiddle :http://jsfiddle.net/2pdNL/
关于javascript - Jquery clone() 不会克隆使用 data() 设置的新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20632892/