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
});

所以基本上我试图瞄准第二个 ul,以及它之后的任何 ul。

小提琴

4

3 回答 3

1

$('.some_ul > li').addClass('first_li');没有做你想做的事。>选择所有直系后代,因此您的示例是将类添加first_li到其下的所有lis 中。

我想你想要这样的东西:

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

http://jsfiddle.net/92Dsq/

于 2013-06-28T19:39:37.630 回答
1

所以基本上我试图瞄准第二个 ul,以及它之后的任何 ul。

过于具体:

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

使用:first选择器。像这样:

$('.some_ul li:not(:first)').children('ul').css({ //...

看看:http: //jsfiddle.net/6yBef/

于 2013-06-28T19:37:00.253 回答