对于examlpe,如果我有这样的:
<div id="blah" myattribute="something">whatever</div>
我可以是安全的浏览器没有将忽略(并因此使得从传统的JavaScript无法访问)的myattribute
? 我知道,这是丑陋的,而不是标准的,但是是非常有用的。 或者,如果他们这样做,将jQuery的仍然能够得到他们?
对于examlpe,如果我有这样的:
<div id="blah" myattribute="something">whatever</div>
我可以是安全的浏览器没有将忽略(并因此使得从传统的JavaScript无法访问)的myattribute
? 我知道,这是丑陋的,而不是标准的,但是是非常有用的。 或者,如果他们这样做,将jQuery的仍然能够得到他们?
浏览器不会抱怨无法识别的属性,Javascript和jQuery将仍然能够访问它们:
console.log( $('#blah').attr('myattribute') ); // something
console.log( document.getElementById('blah').getAttribute('myattribute') ); // something
然而,你应该使用HTML5 data-*
属性,它是专门为自定义属性的目的。 jQuery的已经具有data()
用于访问/设置它们的方法:
<div id="blah" data-myattribute="something">whatever</div>
<script>
console.log( $('#blah').data('myattribute') ); // something
</script>
您应该使用data
的属性,他们的网络标准。
像这样:
<div id="blah" data-myattribute="something">whatever</div>
然后在jQuery的你可以这样做:
var value = $("#blah").data("myattribute");
为什么不使用的属性数据的数据属性,HTML5 ?
浏览器会忽略无效的属性。 如果要指定自己的属性使用数据 - 属性,因为其识别为有效。
上的数据的属性的w3文档
http://www.w3.org/TR/2011/WD-html5-20110525/elements.html#embedding-custom-non-visible-data-with-the-data-attributes