jQuery - первая строка элементов li в ul - PullRequest
0 голосов
/ 15 сентября 2011

Есть ли в jQuery селектор, который ссылается только на первую строку конкретных потомков основного объекта?Здесь я имею в виду следующую структуру:

<ul>
    <li>
        <ul>
            <li></li>
        </ul>
    </li>
    <li>
        <ul>
            <li></li>
        </ul>
    </li>
</ul>

Я хочу применить триггер только к первой строке li, а не к тем, которые встроены в них.

Ответы [ 3 ]

3 голосов
/ 15 сентября 2011
<ul class="top">
    <li>
        <ul>
            <li></li>
        </ul>
    </li>
    <li>
        <ul>
            <li></li>
        </ul>
    </li>
</ul>


$("ul.top>li")

Это означает, что только прямые дочерние li узлы ul

В противном случае, если у вас нет контроля над классами, вы можете использовать

$("ul:first>li")
0 голосов
/ 15 сентября 2011
$("ul:first > li").something(); //<--
0 голосов
/ 15 сентября 2011

Следующий код извлекает только те элементы li, которые являются потомками ul, а не li

    $('ul').children('li');

в вашем коде, я полагаю, это будет что-то вроде

    $('ul li').click(function(){
        if($(this).parents('li')) {      //add extra check
             return;                    //do nothing
        }

    })

Это только для того, чтобы дать подсказку

...