我无法使用:first。
定位列表项中的第一个元素<li data-id="321">
<ul>
<li data-id="380">
<ul>
<li data-id="385"></li>
</ul>
</li>
<li data-id="382"></li>
</ul>
</li>
$(".drop .position").click(function() {
$this = $(this);
$targetID = $(".box-cont.active ").closest("li.box").data("id");
$childrenArray = new Array();
if ($target.find("ul:first").find("li").length > 0) {
$target.find("ul:first").find("li").each(function() {
$this = $(this);
$childrenArray.push($this.data("id"));
});
alert($childrenArray);
} else {
alert("no children");
}
我只是试图将目标中的第一个ul的子项定位在321内。相反,当我只想添加380和382时,我将380,382和385添加到数组中。
答案 0 :(得分:2)
它确实会找到所有的李。你想要的是直系后代。
要么代替孩子查找,要么使用"ul:first>li"
作为jQuery选择器