0

メイン ul の最初の子以外のすべて<ul>の親の子をターゲットにしたいのですが、うまくいきません。<li>lis

<ul class="some_ul">
    <li><a href="#">Home</a></li>
    <li><a href="#">Drop 1</a>
        <ul>
            <li><a href="#">Link 1</a></li>
            <li><a href="#">Link 2</a></li>
            <li><a href="#">Link 3</a></li>
        </ul>
    </li>
</ul>

jQuery:

$('.some_ul > li').addClass('first_li');

$('.some_ul li:not(.first_li)').children('ul').css({
    'position': 'relative',
    'left': 200
});

したがって、基本的には 2 番目の ul と、その後に続くすべての ul をターゲットにしようとしています。

フィドル

4

3 に答える 3

1

$('.some_ul > li').addClass('first_li');あなたが望むことをしていません。>すべての直接の子孫を選択するため、この例では、クラスをその直下のfirst_liすべての s に追加しています。li

代わりに次のようなものが必要だと思います:

$('.some_ul > li').not(":first").children('ul').css({
    'position': 'relative',
    'left': 200
});

http://jsfiddle.net/92Dsq/

于 2013-06-28T19:39:37.630 に答える
1

したがって、基本的には 2 番目の ul と、その後に続くすべての ul をターゲットにしようとしています。

過度に具体的にするには:

$('ul.some_ul > li > ul').children('ul').addBack();
于 2013-06-28T19:39:38.393 に答える