繁体   English   中英

使用DOM中定义的html5数据属性创建新元素

[英]creating new elements with html5 data attributes defined in DOM

我想用定义的html5数据属性创建一个新元素,但是它们未在DOM中显示(与使用say .addClass时不同)。 这是预期的行为吗?

这将创建一个没有 data-foo属性的元素:

-> $("<div>foo</div>").data('foo', 'bar').addClass('class')
=> <div class="class">foo</div>

我不得不在构造函数中声明它

-> $("<div data-foo='bar'>foo</div>").addClass('class')
=> <div class="class" data-foo="bar">foo</div>

.data方法不应该这样做吗?

从这里:

4 jQuery数据API从未更改过HTML5 data- *属性。

.data()和.removeData()的大多数用法仍然是将数据与内存中的DOM元素关联的原始目的。 每次更改数据时更新DOM属性都会毫无理由地降低速度。 此外,甚至不可能序列化可能附加到DOM元素的所有数据类型,例如函数,对其他DOM元素的引用或自定义JavaScript对象。

规则:要更新或删除HTML5 data- *属性,请使用jQuery的.attr()或.removeAttr()方法。

因此,使用通常的attr ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM