jquery指定child和parent

时间:2013-11-05 01:47:26

标签: jquery html

我遇到的问题是我的代码没有将父级识别为“ul”而是将其视为类。这个孩子的影响比我认为的要大。

代码段:

<script>
       $(document).ready(function(){
        $("div:last").click(function(){
            $("ul").parent(".northern").children(':nth-child(3)').hide();
            });
        });
    </script>

<section class="northern">
            <h2>US</h2>
            <ul>
                <li>Princeton</li>
                <li>Harvard</li>
                <li>Yale</li>

            </ul>
            <div>
                <input type="button" value="Click Me!">
            </div>
        </section>

2 个答案:

答案 0 :(得分:2)

您似乎认为$("ul").parent(".northern")表示找到其父级具有class = northern 的UL。它实际意味着找到所有的UL,然后找到他们所有的父类,其中class = northern .parent()是DOM遍历方法,而不是过滤器。

你可能想要的是:

$(".northern > ul").children(':nth-child(3)').hide();

答案 1 :(得分:0)

使用.closest()

$(document).ready(function () {
    $("div:last").click(function () {
        $("ul").closest(".northern").children(':nth-child(3)').hide();
    });
});

我认为OP想要第3项目

Fiddle DEMO

$(document).ready(function () {
    $("div:last").click(function () {
        $(".northern ul").children(':nth-child(3)').hide();
    });
});