如何使用jQuery操作HTML5数据?

时间:2013-03-01 17:20:12

标签: jquery html5 html5-data

对于HTML5 DOM元素 -

<div style="border:1px solid; width:100px; background:#FFF" class="btn" data-btnNo="1">Button</div>

以下两条javascript线有什么区别?

$(this).attr("data-btnNo");

$(this).data("btnNo");

根据我tests on JSFiddle,我看到第一个有效,而第二个没有。我试图理解'为什么?'

jQuery是否为每个DOM元素维护单独的数据?根据{{​​3}},我了解到.data()会将HTML5 data-*中的值输入到自己的数据中。反之亦然吗?如果我$(this).data("myData","jkl345");,它会在data-myData="jkl345"上创建HTML5属性$(this)吗?

我还遇到了JQuery doc of .data()似乎扩展了.data()以将数据应用于任何DOM元素。


稍后添加:jQuery.data()”似乎有答案。唯一没有回答的是$(this).data("newDataAttri","myVal")创建data-newDataAttri="myVal"吗?我开始相信它不会并且只将它存储在DOM节点中。谁能证实这一点?

1 个答案:

答案 0 :(得分:0)

帮助调试使用控制台并执行console.log($('.btn').data());您将看到对象和键。您需要使用'btnno'小写'n'