一尘不染

如何在HTML元素中设置数据属性

html

我有一个带有属性的div data-myval = "10"。我想更新它的价值;如果我使用,它不会改变div.data('myval',20)吗?我div.attr('data- myval','20')只需要使用吗?

我在HTML5和jQuery之间感到困惑吗?请指教。谢谢!

编辑:更新div.data('myval')=20div.data('myval',20),但HTML仍未更新。


阅读 830

收藏
2020-05-10

共1个答案

一尘不染

的HTML

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

JS

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

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

从参考:

jQuery本身使用该.data()方法以“事件”和“句柄”的名称保存信息,并且还保留任何以下划线(_)开头的数据名称供内部使用。

应当注意,jQuery data()不会更改dataHTML中的属性。

因此,如果您需要更改dataHTML中的属性,则应.attr()改用。

HTML

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

JS:

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>
2020-05-10