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

Eli*_*ahu 11 css jquery css-selectors jquery-selectors

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

cle*_*tus 29

对于:

<ul>
  <li>Item 1</li>
  <li>Item 2
    <ul>
      <li>Item 2.1</li>
      <li>Item 2.2</li>
    </ul>
  </li>
  <li>Item 3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

例如

$("ul > li").addClass("blah");
Run Code Online (Sandbox Code Playgroud)

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

$("ul li").addClass("blah");
Run Code Online (Sandbox Code Playgroud)

将类"blah"添加到每个列表元素.

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

  • ul> li是否将所有这些设置为"blah"?因为你有一个子列表,其中也有一个ul的li子元素. (3认同)
  • >意味着直接的孩子,而不是孙子或更多. (3认同)
  • ul> li也匹配嵌套列表 (3认同)
  • 您应该更新您的示例以将内部`ul`作为"ol",因为您当前的代码将无法按照您的描述运行(尽管技术上正确). (3认同)

小智 10

在CSS中,>表示"直接子节点":仅选择直接子节点.

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

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