属性 を持つ 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>
見るこのデモ