我有一个选择器:$('div.data[data="true"]').not('div.data[data-loading="true"]')
。
我在元素上使用.data("data-loading","true")
。
由于.data
未真正设置.prop
之类的属性,因此上述.not
选择器与我将上述.data
设置为的元素不匹配。是否有选择器我可以使用.data
设置的匹配数据,或者除了.prop
之外我还必须使用.data
吗?
答案 0 :(得分:1)
没有选择器匹配您通过.data
功能放在元素上的数据。在您的情况下,您可以轻松地将其作为属性。您的选择器已在查找属性,因此只需更改
.data("data-loading","true")
到
.attr("data-loading","true")
div.data[data="true"]
选择器无效,除非div
上有一个名为data
的属性,正如您所观察到的那样,没有(并且不应该)是的,这将是一个无效的属性。)
如果你需要标记存储数据的div,我会使用一个类。我可能还会使用data-loading
标志的类。