Javascript Jquery clone()不';t克隆带有数据()的新值集

Javascript Jquery clone()不';t克隆带有数据()的新值集,javascript,jquery,html,Javascript,Jquery,Html,使用jquery data()设置元素的数据属性,如下所示: HTML: 我们知道,数据在内部是可变的。所以在inspector中,您实际上看不到新值是1。但除此之外,如果我使用新数据值克隆元素,jquery将克隆原始dom元素而不使用当前数据值 $("#some-el").clone(); 结果是内部和可见 我想我可以通过简单地使用attr(“数据编号”,1)来避免这个问题 不管怎样,我想问您这是否是dat()的正确行为?我看到的是预期的吗?为什么?.data()没有在DOM中设置值 dat

使用jquery data()设置元素的数据属性,如下所示:

HTML:

我们知道,数据在内部是可变的。所以在inspector中,您实际上看不到新值是1。但除此之外,如果我使用新数据值克隆元素,jquery将克隆原始dom元素而不使用当前数据值

$("#some-el").clone();
结果是
内部和可见

我想我可以通过简单地使用
attr(“数据编号”,1)来避免这个问题

不管怎样,我想问您这是否是dat()的正确行为?我看到的是预期的吗?为什么?

.data()
没有在DOM中设置值

data-
属性在第一次中被拉入 已访问,然后不再访问或更改(所有数据值 然后存储在jQuery内部)

但这里有一个变通方法,而不是使用

$("#some-el").data("number",1);  
直接与类DOM交互

$("#some-el").attr("data-number",1);


同时检查此项

我认为克隆可以接受布尔值来指示包含数据和事件的克隆,因此
clone(true)
应该可以工作:


这里有一把有效的小提琴:

我想你会在这里找到答案的!这里要解释的是:我猜OP指的是行为。它没有显示在开发工具中。这将使生活更轻松,不想重写我的js:)谢谢!克隆(true)无法与jquery ui sortable一起使用!所以我不得不采用attr方式。你说我的问题中没有的是什么?:)还要注意的是,如果要将js对象设置为“数据编号”(在本例中)属性的值,则必须将其字符串化。
$("#some-el").data("number",1);  
$("#some-el").attr("data-number",1);