jQuery选择第一级“级别”的元素

时间:2009-07-10 23:28:30

标签: jquery dom css-selectors

我想只选择第一个“级别”上的元素。

例如:

<div id="BaseElement">
  <p>My paragraph 0</p>
  <div>
    <span>My Span 0</span>
    <span>My Span 1</span>
  </div>
  <span>MySpan 2</span>
  <span>MySpan 3</span>
  <p>My paragraph 1</p>
</div>

假设你有BaseElement节点。

var Element = $("div#BaseElement");

如何仅从基本元素节点获取节点?

$("div#BaseElement span")

只会导致获得MySpan 2和MySpan 3。

3 个答案:

答案 0 :(得分:50)

$("#BaseElement").children("span");

$("#BaseElement > span");

请参阅jQuery selectorschildren()

答案 1 :(得分:9)

在jQuery API中,当它引用'descendants'时它意味着所有级别,当它引用'children'时它意味着只有第一级

这将为您提供所有第一级孩子(在您的示例中为第一个p,div,2个跨度和最后一个p)

$('#BaseElement > *')

答案 2 :(得分:2)

另请参阅What is the difference direct descendent (>) vs. descendant in jQuery selectors?选择器中空格与&gt; 之间的差异。空格等于find()和&gt; 等于children()。换句话说,以下对是等价的,

$("#BaseElement").children("span");
$("#BaseElement > span");

让所有孩子及其后代:

$("#BaseElement").find("span");
$("#BaseElement span");