我默认设置了自定义数据属性:
data-equipment="0"
如果我使用 .data()
使用jquery更改它 $(this).data("equipment", 10)
然后使用 getAttribute()
this.getAttribute("data-equipment")
我得到旧值(0)而不是新值(10)。但如果我使用
$(this).data("equipment")
我得到新值(10)。
这应该是这样工作还是我错过了什么?
谢谢!
答案 0 :(得分:45)
.data()
不对数据属性进行操作,而是对内部jQuery缓存进行操作。最初如果没有找到缓存记录,则从相应的data-
属性中读取数据(如果存在),但这是他们合作的结束。
如果它对属性进行操作,那么它的用途就没用了,因为属性值必须是字符串。