在其父级内定位第一个元素

时间:2017-01-09 13:13:55

标签: jquery list

我无法使用: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添加到数组中。

1 个答案:

答案 0 :(得分:2)

它确实会找到所有的李。你想要的是直系后代。 要么代替孩子查找,要么使用"ul:first>li"作为jQuery选择器