这是我的标记:
<div class=widget>
<div class=panel>panel1</div>
<div class=panel>panel2
<div class=widget>
<div class=panel>panel1</div>
<div class=panel>panel2</div>
</div>
</div>
</div>
我试图只选择类名为panel
的直接(第一级?)子元素,不幸的是我总是得到嵌套元素(4而不是2)。
请看看我的 fiddle :
怎么了?谢谢
最佳答案
您有两个具有相同类的父 div
。将您的 HTML 更改为此以获得您想要的行为:
<div class=widget1>
<div class=panel>panel1</div>
<div class=panel>panel2
<div class=widget2>
<div class=panel>panel1</div>
<div class=panel>panel2</div>
</div>
</div>
</div>
你的脚本是这样的:
var panels = $("div.widget1 > .panel");
alert(panels.length); // returns 2
var panels = $("div.widget2").children(".panel");
alert(panels.length); // returns 2
( demo )
关于jQuery 子选择器未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18751886/