我想只选择第一个“级别”上的元素。
例如:
<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。
答案 0 :(得分:50)
答案 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");