たとえば、私がこれを持っている場合:
<div id="blah" myattribute="something">whatever</div>
ブラウザが無視しない(したがって、レガシーJavaScriptからアクセスできなくなる)ことを安全にできますmyattribute
か?これは醜くて標準ではないことは承知していますが、非常に便利です。または、そうする場合でも、jQueryはそれらを取得できますか?
たとえば、私がこれを持っている場合:
<div id="blah" myattribute="something">whatever</div>
ブラウザが無視しない(したがって、レガシーJavaScriptからアクセスできなくなる)ことを安全にできますmyattribute
か?これは醜くて標準ではないことは承知していますが、非常に便利です。または、そうする場合でも、jQueryはそれらを取得できますか?
data
属性を使用する必要があります。これらはWeb標準です。
このような:
<div id="blah" data-myattribute="something">whatever</div>
次に、jQueryで次のことができます。
var value = $("#blah").data("myattribute");
ブラウザは認識されない属性について文句を言うことはなく、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>
data-attributes Data-attributes、HTML5を使用しないのはなぜですか?
ブラウザは無効な属性を無視します。独自の属性を指定する場合は、data-属性を使用してください。これは有効であると認識されます。
データ属性に関するw3ドキュメント