jQuery的空间​​和>选择器有什么区别?

空间和>选择器之间有什么区别? 并且可能相关,我怎样才能找到其他东西的直接孩子,而不是降低后代线呢?

对于:

  • Item 1
  • Item 2
    • Item 2.1
    • Item 2.2
  • Item 3

例如

 $("ul > li").addClass("blah"); 

将类“blah”添加到1 2和3,而:

 $("ul li").addClass("blah"); 

将类“blah”添加到每个列表元素。

我不确定你用<和?指的是什么? 运营商。

在CSS中, >表示“直接子节点”:仅选择直接子节点。

虽然空间意味着“任何后代”:可以选择直接儿童和这些儿童的子女。

我打赌jQuery使用相同的约定。

如前所述,空格将选择任何后代,而>将仅选择直接子项。 如果您只想选择孙子或曾孙,那么您可以使用:

 #foo > * > * > .bar 

(所有带有“bar”类的元素都是id为“foo”的元素的曾孙子)