通过jQuery .data()查看添加到元素的数据的便捷方法

时间:2012-03-20 16:00:33

标签: javascript jquery debugging

我通过调用jQuery.data:

为元素添加了一个id
$layout.nextAll('.imagepicker').data('imgPickerId', randomnumber);

因此我的课程imagepicker的元素会添加[imgPickerId=randomnumbervalue]数据属性。

似乎我以后如何使用.imagepicker来查找imgPickerId时出现问题。我在哪里可以以方便的方式查找哪些属性添加到特定元素(除了js代码)?也许在firebug的某个地方?

P.S。出于某种原因,我的“getter代码”在jQuery 1.6中工作,但在1.7中没有。我仍然怀疑数据没有被添加到元素中,需要一种方法来检查它。

3 个答案:

答案 0 :(得分:3)

jQuery的data函数将所有内容存储在JavaScript中,而不以任何方式更改DOM。我担心你必须使用代码才能访问它。

Google快速搜索还向我展示了Firebug的FireQuery插件,它似乎可以让您查看元素的附加数据。但是,我自己没试过,所以我无法确认。

更新:经过测试,它运行正常!使用FireQuery,您的元素的所有数据都可以在HTML旁边看到:

screenshot of FireQuery showing data attributes

答案 1 :(得分:3)

您是否考虑过使用data-imgPickerID="someID"等自定义属性编写数据?  当然,这不允许您保存大量数据,但您可以通过firebug进行检查,因为您只保存一个ID,它可以满足您的需求。
 关于.data()方法也非常酷,您可以从上面检索自定义属性,如.data("imgPickerID");

答案 2 :(得分:1)

data()会将数据保存在内存中(当然链接到选择器中的元素),它不会在元素上写东西,所以你不能在firebug中查看它。

您可以使用html5数据attibute

预先填充包含某些数据的元素

请查看此问题以获得扩展说明

How does jQuery store data with .data()?