【发布时间】:2014-11-16 10:36:26
【问题描述】:
如何在创建自定义动态dom元素时添加数据属性
喜欢-
var div = $('#ajey');
var text = "<div class='parent'>parent div";
text +="<div class='child' data-child='true'>how do I add .data value for this div during on the fly dom creation?</div>";
text += "</div>";
div.html(text);
在这里提琴 - Demo
我在这里添加了data-child 这可行,但是当有人通过开发人员工具检查元素时,这是可见的。
如果我通过 jquery .data() 添加数据在开发人员控制台中不可见。
但是当我动态创建元素时,我无法弄清楚如何通过 jquery 添加数据。
【问题讨论】:
-
jquery 的
.data实际上并没有添加 DOM 数据属性,而是将属性保留在 JS 土地中。 -
哦,我如何关联 dom 的数据属性以保留在 JS 土地中?当我生成 dom 元素时?
-
老实说,我会远离数据属性——如果你正在生成它们,你可以将它们推送到对象数组中,并将与它们相关的数据保留在表示层之外。如果必须,可以使用
.attr:$("<div ... />").attr("data-foo", "bar")
标签: javascript jquery html dom