我正在读一本关于jQuery Mobile的书,书的开头写道:
...these选择器既可以用于直接选择元素(例如$("div:contains('foo')")) ),也可以用于过滤其他选择器(例如$("div").contains('foo'))。
有没有人能解释一下这两个选择器之间的区别,因为我忽略了这一点。
发布于 2012-11-19 23:26:36
带有:contains() selector的$("div:contains('foo')"))将返回文本中包含字符串'foo'的任何div。
据我所知,唯一的.contains()方法是$.contains()。您不能在jQuery结果集(即选择的结果)上使用它,因此$("div").contains('foo')实际上不会工作。实际上,$.contains()方法本身与:contains()选择器的工作方式完全不同;因为它测试一个元素是否包含在另一个元素中作为子元素。
坦率地说,我不确定这本书在说什么。这句话对我来说意义不大,因为它甚至使用了不是真正的jQuery代码的示例。
发布于 2012-11-19 23:21:03
在.contains() (函数)和:contains()选择器之间似乎没有区别。
根据jQuery source,两者使用相同的代码("Sizzle“管理CSS选择器函数),第5350行:
jQuery.contains = Sizzle.contains;https://stackoverflow.com/questions/13456672
复制相似问题