JQueryに値を追加せずにデータ属性を設定するにはどうすればよいですか?これ欲しい:
<body data-body>
私は試した:
$('body').attr('data-body'); // this is a getter, not working
$('body').attr('data-body', null); // not adding anything
それ以外はすべて、2番目の引数を文字列として追加するようです。値なしで属性を設定することは可能ですか?
attr()
関数もセッター関数です。空の文字列を渡すことができます。
$('body').attr('data-body','');
空の文字列は、値のない属性を作成するだけです。
<body data-body>
リファレンス- http://api.jquery.com/attr/#attr-attributeName-value
attr(attributeName、value)
おそらく試してみてください:
var body = document.getElementsByTagName('body')[0];
body.setAttribute("data-body","");
受け入れられた回答は、名前専用属性を作成しません(2017年9月現在)。
名前のみの属性を作成するには、JQuery prop() メソッドを使用する必要があります。
$(body).prop('data-body', true)
あなたはjQueryなしでそれを行うことができます!
例:
document.querySelector('button').setAttribute('disabled', '');
<button>My disabled button!</button>
無効などのブール属性の値を設定するには、任意の値を指定できます。空の文字列または属性の名前が推奨値です。重要なのは、属性が実際に存在する場合、実際の値に関係なく、その値が真であると見なされることです。属性が存在しないということは、その値が偽であることを意味します。 disabled属性の値を空の文字列( "")に設定することにより、disabledをtrueに設定します。これにより、ボタンが無効になります。