HTML要素にデータ属性を設定する方法 質問する

HTML要素にデータ属性を設定する方法 質問する

属性 を持つ div がありますdata-myval = "10"。その値を更新したいのですが、 を使用すると変更されてしまうのではないでしょうか。のみdiv.data('myval',20)を使用する必要がありますか?div.attr('data-myval','20')

HTML5 と jQuery を混同していませんか? アドバイスをお願いします。 ありがとうございます!

編集:div.data('myval')=20に更新しましたdiv.data('myval',20)が、HTML はまだ更新されません。

ベストアンサー1

html

<div id="mydiv" data-myval="10"></div>

JS

var a = $('#mydiv').data('myval'); //getter

$('#mydiv').data('myval',20); //setter

デモ

参照

参考文献より:

jQuery 自体は、この.data()メソッドを使用して「events」および「handle」という名前で情報を保存し、アンダースコア (「_」) で始まるデータ名を内部使用のために予約します。

data()jQuery は HTML 内の属性を変更しないことに注意してくださいdata

dataしたがって、 HTML で属性を変更する必要がある場合は、.attr()代わりに を使用する必要があります。

html

<div id="outer">
    <div id="mydiv" data-myval="10"></div>
</div>

​jQuery:

alert($('#outer').html());   // alerts <div id="mydiv" data-myval="10"> </div>
var a = $('#mydiv').data('myval'); //getter
$('#mydiv').attr("data-myval","20"); //setter
alert($('#outer').html());   //alerts <div id="mydiv" data-myval="20"> </div>

見るこのデモ

おすすめ記事