我有一个属性为data-myval = "10"
的div.我想更新它的价值;如果我使用div.data('myval',20)
,它不会改变吗?我需要只用div.attr('data-myval','20')
吗?
我是否对HTML5和jQuery感到困惑?请告知.谢谢
编辑:更新div.data('myval')=20
到div.data('myval',20)
,但HTML仍然没有更新.
我有一个属性为data-myval = "10"
的div.我想更新它的价值;如果我使用div.data('myval',20)
,它不会改变吗?我需要只用div.attr('data-myval','20')
吗?
我是否对HTML5和jQuery感到困惑?请告知.谢谢
编辑:更新div.data('myval')=20
到div.data('myval',20)
,但HTML仍然没有更新.
HTML
<div id="mydiv" data-myval="10"></div>
JS
var a = $('#mydiv').data('myval'); //getter
$('#mydiv').data('myval',20); //setter
参考文献:
jQuery本身使用
.data()
方法以"events"和"Handle"的名称保存信息,并保留以下划线(‘_’)开头的任何数据名称供内部使用.
应该注意的是,jQuery的data()
没有改变HTML中的data
属性.
因此,如果需要更改HTML中的data
属性,应该使用.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>