5

可能重复:
是什么a > b意思?

嗨,谁能告诉我这种选择器的用途是什么?

$("> div", "#main-content")

是一样的吗

 $("div", "#main-content")

?

以前没见过这种风格,只是在我刚买的模板中偶然发现它。

4

6 回答 6

4

基本上>表明,只有直接的孩子才匹配。如果>省略了,则匹配以下每个级别的所有子级。

如果你有这样的结构:

<div id="A">
  <div id="B">
    <div id="C"></div>
  </div>
</div>

一个选择器,如:

#A > #B

应该还给你 B,但是

#A > #C

与 C 不匹配,而

#A #C

将。

于 2012-07-26T12:37:25.853 回答
3

只需参考http://api.jquery.com/child-selector/以清除您对>

于 2012-07-26T12:37:02.827 回答
2

我认为$("div", "#main-content")将选择#main-content元素树中的所有 div,而$("> div", "#main-content")仅选择直接子级。有关更多信息,请参阅文档

于 2012-07-26T12:37:11.187 回答
2

parent > child - 仅选择直接子元素
只是为了重新迭代:

注意:$("> elem", context) 选择器将在未来的版本中被弃用。因此不鼓励使用它来代替使用替代选择器。

于 2012-07-26T12:43:42.997 回答
2

上面有一些很好的答案。具体回答您的问题:

jQuery 结构是如何工作的: $("tagToSelect", "context") 也可以表示为 $("context tagToSelect")

">" 只选择上下文内的标签(一层深)

所以 $("> div", "#main-content") 在技术上与 #main-content 中的所有 div 相同, $("#main-content > div") 并将选择所有级别的 div(但不会更深)

您的另一个示例: 在技术上与 #main-content 中的整个 DOM 结构$("div", "#main-content") 相同 并将迭代并查找所有 div$("#main-content div")

希望这可以帮助 :-)

于 2012-07-26T13:16:33.493 回答
1

>用于直系子女。

<ul id="mainUl">
   <li>
      <ul id="secondaryUl">
         <li></li>
      </ul>
   </li>
</ul>

在这里,两个<ul>标签都将被 捕获$("ul"),但只会#mainUl被捕获$("> ul")

于 2012-07-26T12:36:02.420 回答