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

creating new elements with html5 data attributes defined in DOM

本文关键字:新元素 元素 创建 数据属性 DOM 定义 html5 使用      更新时间:2023-09-26

我想创建一个定义了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方法不应该起同样的作用吗?

从这里开始:

  • http://www.learningjquery.com/2011/09/using-jquerys-data-apis

CCD_ 2。没有任何jQuery数据API会更改HTML5数据-*属性。

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

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

所以,使用通常的attr。。。