0

コードが親を「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>
4

2 に答える 2

2

親が class = north を持つ UL を見つける$("ul").parent(".northern")ことを意味すると考えているようです。これが実際に意味することは、すべての UL を見つけてから、 class = north を持つすべての親を見つけることです。フィルターではなく、DOM トラバーサル メソッドです。.parent()

おそらくあなたが望むのは:

$(".northern > ul").children(':nth-child(3)').hide();
于 2013-11-05T01:59:04.953 に答える
0

.closest()を使用

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

OPは3番目のリアイテムが欲しいと思います

フィドルのデモ

$(document).ready(function () {
    $("div:last").click(function () {
        $(".northern ul").children(':nth-child(3)').hide();
    });
});
于 2013-11-05T01:50:56.063 に答える