4

在我正在创建的一个相当复杂的 HTML5 webapp 中,我发现向一些文档元素添加一些自定义属性很方便。使用 jQuery,我发现我可以毫无问题地检索这些属性——到目前为止,在 Chrome、Safari 和 Firefox 中,我希望也在 Android/iPhone 移动浏览器上。

问题 - 是这样的用法,注入自定义属性,好的还是我会打破一些东西。为了让事情进入上下文,我使用 jQuery Mobile,带有 jQ​​uery 和一些 jQuery 插件。

在相关说明中,我假设可以使用 jQuery 检索具有指定属性的所有元素?

4

2 回答 2

7

我建议不要使用自定义属性,而是使用 data attributes ,您可以在HTML5 Doctor Website上阅读。

本质上,您可以为元素提供以 为前缀的自定义属性data-,并且您可以使用 jQuery 读取/设置这些属性。这是一个例子:

HTML5 片段:

<p id="porky" data-food="bacon">Porky was a tasty little piggy</p>

jQuery 片段:

alert( $('#porky').data('food') ); // Alerts "bacon"
$('#porky').data('food', 'roast');
alert( $('#porky').data('food') ); // Alerts "roast"

使用 data-attributes 将创建一个有效的、面向未来的应用程序。

于 2012-07-10T20:00:39.790 回答
5

您可以使用data-属性:

<div data-someattr="1" data-someotherattr="'1'" data-obj="{prop:'val1'}" ....

通过jQuery.data()检索那些:

$('div').data('someattr')           //1      Number
$('div').data('someotherattr')      //'1'    String
$('div').data('obj').prop          //'val1' String
于 2012-07-10T19:59:29.343 回答