11

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

4

4 回答 4

30

为了:

<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”添加到每个列表元素。

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

于 2009-08-02T03:22:39.137 回答
10

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

而空格表示“任何后代”:可以选择直接子代和这些子代的子代。

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

于 2009-08-12T16:57:34.723 回答
2

如前所述,空间将选择任何后代,而>只会选择直接子代。如果你只想选择孙子或曾孙,那么你可以使用这个:

#foo > * > * > .bar

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

于 2009-11-30T01:49:09.393 回答
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>
于 2010-01-07T00:35:00.023 回答