假设我有这样一段HTML代码:
<div id="container">
<ul>
<li><a href="#" data-some-info="foo">Bar</a>
<!-- repeating a few like the one --> -->
<!-- above for a while ... -->
</uL>
</div>
当定义了data some-info
时,我希望将某些内容应用到所有锚点元素上。
我只是想了解为什么会出现这种行为(这是一个bug吗?)
$("#container").find("a:data(some-info)").size(); // -> 0
$("#container").find("a").data("some-info"); // -> "foo"
$("#container").find("a:data(some-info)").size(); // -> 1 (actual expected val)
有什么想法吗?
更多信息:我正在使用jQuery 1.9.0和jQuery UI 1.9.2
** 编辑 **
我知道关于$("#container").find("a[data-some-info]")
。这不是我在这里质疑的问题。如果有一个数据选择器,为什么它会表现出这种方式?
:data
选择器的可用文档?我猜它是一个 jQuery 的 css 选择器,只查看已经被缓存的元素数据(这至少可以解释你所看到的行为)。 - Kevin B