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

时间:2009-08-02 03:19:01

标签: jquery css jquery-selectors css-selectors

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

4 个答案:

答案 0 :(得分: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>

例如

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

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

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

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

我不确定你指的是&lt;和?运算符。

答案 1 :(得分:10)

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

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

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

答案 2 :(得分:2)

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

#foo > * > * > .bar

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

答案 3 :(得分:2)

看看这个..

$(".testit > a") //match the first <a> tag below
$(".testit a") // matches all <a> tag below

<p class="testit">
  <a href="#">All the rules will match this</a>
  <span>
    <a href="#">second rule can only select this</a>
  </span>
</p>