这些jquery选择器句子之间有什么区别

时间:2014-08-12 03:31:35

标签: jquery jquery-selectors

我对jquery选择器句子的这三种用法感到很困惑。这三个人似乎都会选择带有p类的标记intro。为什么有3种不同的选择句?

$("p").filter(".intro")

$("p.intro")

$("p .intro")

1 个答案:

答案 0 :(得分:4)

前两个最终会有"p"".intro"的对象(例如,完全相同的对象会满足这些选择器)。

最后一个是".intro"的对象,但有一个父"p"

进一步说明:


$("p").filter(".intro")

获取所有"p"元素。然后将该集合仅减少为".intro"


$("p.intro")

查找"p"".intro"的所有对象(在同一对象上)。不同的选择标准之间没有空格意味着它们必须在同一个对象上找到。


$("p .intro")

查找具有父".intro"的所有"p"个对象。不同选择标准之间的空格意味着它们出现在层次结构的不同级别(例如,不在同一对象上 - 父对象,然后是子对象,但是在它们之间的任意数量的级别)。为了与上面两个创建一个小的对称性,这个结果给出了相同的结果:

$("p").find(".intro");