$(document).ready( function () {
$("#bla").on( "click", function () {
alert( $(this).data('bla') );
$(this).attr('data-bla', "2");
});
});
button
因此,我需要将data-bla
值从"1" 更改为"2",但正如您所看到的,值未更新且每次单击按钮,都会提醒默认值"1".
我做错了什么?
data()
是不是一个访问功能data-*
属性.这是为元素,这是唯一的jQuery的数据缓存的存取初始化的data-*
属性.
如果要读取data-bla
属性的值,请使用attr("data-bla")
,而不是data("bla")
.如果要设置bla
数据项,请使用data("bla", newValue)
,而不是attr("data-bla", newValue)
.
例如,attr()
既可以用于get,也可以data()
用于get和set,但不要混用它们,因为它们可以管理不同的东西.
使用attr()
:
$(document).ready( function () {
$("#bla").on( "click", function () {
alert( $(this).attr('data-bla') );
$(this).attr('data-bla', "2");
});
});
button