我正在阅读jQuery Mobile上的一本书,并在开头说明:
...这些选择器既可以用来直接选择元素(例如$("div:contains('foo')"))
,也可以用来过滤其他选择器(例如$("div").contains('foo')
)。
有人可以解释这两个选择器之间的区别,因为我在这里忽略了这一点。
答案 0 :(得分:2)
:contains()
selector的 $("div:contains('foo')"))
会返回其文字包含字符串div
的所有'foo'
。
我所知道的唯一.contains()
方法是$.contains()
。您不能在jQuery结果集上使用它(即选择的结果),因此$("div").contains('foo')
实际上不起作用。事实上,方法$.contains()
本身与:contains()
选择器完全不同;因为它测试一个元素是否作为后代包含在另一个元素中。
答案 1 :(得分:0)
.contains()
(函数)与:contains()
选择器之间似乎没有差异。
根据jQuery source两者都使用相同的代码(“Sizzle”管理CSS选择器功能),第5350行:
jQuery.contains = Sizzle.contains;