使用jquery data()设置元素的数据属性,如下所示:
HTML:
<div id="some-el" data-number="0"></div>
JQ:
$("#some-el").data("number",1);
众所周知,数据在内部发生变化。因此在内部检查器中你实际上看不到新值是1.但是除此之外,如果我使用新数据值克隆元素,jquery克隆原始dom元素而没有当前数据值!!!
$("#some-el").clone();
<div id="some-el" data-number="0"></div>
内部和明显的结果!
我以为我可以通过简单地使用attr("data-number",1);
无论如何,我想问你这是否是dat()的正确行为?我所期待的是什么?为什么?
答案 0 :(得分:5)
我认为克隆可以接受一个布尔来指示包含数据和事件的克隆,因此Clone(true)
应该有效:http://api.jquery.com/clone/
这是一个有效的小提琴:http://jsfiddle.net/2pdNL/
答案 1 :(得分:4)