5

たとえば、私がこれを持っている場合:

<div id="blah" myattribute="something">whatever</div>

ブラウザが無視しない(したがって、レガシーJavaScriptからアクセスできなくなる)ことを安全にできますmyattributeか?これは醜くて標準ではないことは承知していますが、非常に便利です。または、そうする場合でも、jQueryはそれらを取得できますか?

4

4 に答える 4

5

data属性を使用する必要があります。これらはWeb標準です。

このような:

<div id="blah" data-myattribute="something">whatever</div>

次に、jQueryで次のことができます。

var value = $("#blah").data("myattribute");
于 2013-02-21T14:14:38.573 に答える
4

ブラウザは認識されない属性について文句を言うことはなく、JavascriptとjQueryは引き続きそれらにアクセスできます。

console.log( $('#blah').attr('myattribute') ); // something
console.log( document.getElementById('blah').getAttribute('myattribute') ); // something

data-*ただし、特にカスタム属性を目的としたHTML5属性を使用する必要があります。jQueryには、data()それらにアクセス/設定するためのメソッドがあります。

<div id="blah" data-myattribute="something">whatever</div>

<script>
console.log( $('#blah').data('myattribute') ); // something
</script>
于 2013-02-21T14:19:02.253 に答える
2

data-attributes Data-attributes、HTML5を使用しないのはなぜですか?

于 2013-02-21T14:14:37.947 に答える
1

ブラウザは無効な属性を無視します。独自の属性を指定する場合は、data-属性を使用してください。これは有効であると認識されます。

データ属性に関するw3ドキュメント

http://www.w3.org/TR/2011/WD-html5-20110525/elements.html#embedding-custom-non-visible-data-with-the-data-attributes

于 2013-02-21T14:14:34.203 に答える