我有一个带有属性的div data-myval = "10"。我想更新它的价值;如果我使用,它不会改变div.data('myval',20)吗?我div.attr('data- myval','20')只需要使用吗?
data-myval = "10"
div.data('myval',20)
div.attr('data- myval','20')
我在HTML5和jQuery之间感到困惑吗?请指教。谢谢!
编辑:更新div.data('myval')=20为div.data('myval',20),但HTML仍未更新。
div.data('myval')=20
的HTML
<div id="mydiv" data-myval="10"></div>
JS
var a = $('#mydiv').data('myval'); //getter $('#mydiv').data('myval',20); //setter
从参考:
jQuery本身使用该.data()方法以“事件”和“句柄”的名称保存信息,并且还保留任何以下划线(_)开头的数据名称供内部使用。
.data()
应当注意,jQuery data()不会更改dataHTML中的属性。
data()
data
因此,如果您需要更改dataHTML中的属性,则应.attr()改用。
.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>