2012-07-10 185 views
2

在我创建的一个相当复杂的HTML5 Web应用程序中,我发现向某些文档元素添加一些自定义属性非常方便。使用jQuery,我发现我可以在没有任何问题的情况下检索这些属性 - 在Chrome,Safari和Firefox中,我希望也可以在Android/iPhone移动浏览器中检索。添加自定义属性

问题 - 是这样的用法,注入自定义属性,好或我会打破一些线下。为了把事情放到上下文中,我使用了jQuery Mobile和jQuery以及一些jQuery插件。

在一个相关的说明,我认为有可能检索所有具有jQuery指定属性的元素?

+1

用'data-'前缀:http://html5doctor.com/html5-custom-data-attributes/ – biziclop 2012-07-10 19:57:41

+0

谢谢!我想我一直在jQuery Mobile中看到这一点,却没有意识到它的含义。就像我几个小时前所说 - 这是一个很棒的小论坛!从问题到答案的秒数。 – DroidOS 2012-07-10 20:00:33

回答

4

而不是使用自定义属性的,我会建议使用数据属性,你可以在阅读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" 

使用数据的属性会为一个有效的,面向未来的应用程序。

2

您可以使用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 
+2

谢谢!能够将对象包装到属性中非常简单 – DroidOS 2012-07-11 04:01:15