是什么jQuery的空间​​和>选择之间的区别?(What is the difference

2019-07-31 06:32发布

有什么之间的差异空间和>选择? 并可能有关,我怎么能找东西是别的东西的直接孩子,而不是低了下去后代线?

Answer 1:

对于:

<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");

增加了类“等等”为1 2和3,而:

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

添加类“嗒嗒”的每一个列表元素。

我不知道你指的是与<什么? 运营商。



Answer 2:

在CSS中, >意为“直接子”:只有那些直接子节点被选择。

虽然空间是指“的任何后代”:直接的儿童和儿童的儿童可以选择。

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



Answer 3:

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

#foo > * > * > .bar

(所有与类“BAR”,其是ID为“富”的元件的大的孙子元素)



Answer 4:

看这个..

$(".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>


文章来源: What is the difference between jQuery's space and > selectors?