50

我默认设置了一个自定义数据属性:

data-equipment="0"

如果我使用.data()用 jquery 更改它

$(this).data("equipment", 10)

然后使用getAttribute()

this.getAttribute("data-equipment")

我得到旧值 (0) 而不是新值 (10)。但如果我使用

$(this).data("equipment")我得到新值(10)。

这应该像这样工作还是我错过了什么?

谢谢!

4

1 回答 1

45

.data()不对数据属性进行操作,而是在内部 jQuery 缓存中操作。最初,如果没有找到缓存记录,则从相应的data-属性中读取数据(如果存在),但这就是他们合作的结束。

如果它对属性进行操作,那么它就没有用了,因为属性值必须是字符串。

于 2013-08-07T15:16:04.943 回答