Выберите <a>с Jquery ... головная боль с 2 часов - PullRequest
0 голосов
/ 11 ноября 2011

через список, это мой HTML-код:

<ul class="choix-kit_modele_list">
        <li class="first modele"><a href="">Modèle :</a></li>
        <li><a href="">A1</a></li>
        <li><a href="">A3</a>
            <ul class="choix-kit_type_list">
                <li class="first type"><a href="">Type :</a></li>
                <li><a href="">3 Portes - 1999 à 2003</a></li>
                <li><a href="">3 Portes - 2004 à Aujourd'hui</a></li>
                <li><a href="">5 Portes - 1999 à 2003</a></li>
                <li><a href="">Cabriolet - 2008 à Aujourd'hui</a></li>
                <li class="last"><a href="">Sportback - 2005 à Aujourd'hui</a></li>
            </ul>
        </li>
        <li class="last"><a href="">A4 Berline</a></li>
    </ul>

Я хотел бы выбрать только первый уровень списка, так что это мой код, который выбирает все:

$('.choix-kit_modele_list li > a').not('.choix-kit_type_list li a').each(function(i){
   $(this).css({width: 100});
});

Итак, я сказал, что "выберите меня из первого ul, но не его ul ul, позвонив им по соответствующему классу. Так что же не так в моем коде, пожалуйста?

Заранее спасибо за васпомощь

Ответы [ 3 ]

3 голосов
/ 11 ноября 2011

Дочерний селектор должен быть между .choix-kit_modele_list и li, потому что каждый a является дочерним li на всех уровнях:

$('.choix-kit_modele_list > li a').each(function(i) {
    $(this).css({ width: 100 });
});
1 голос
/ 11 ноября 2011
$('ul.choix-kit_modele_list > li > a').each(function(){
   $(this).css("font-size", "26px");
});

Ваш код не работал, потому что ваш селектор применял к каждой ссылке, которая является прямым потомком каждого <li>, который является потомком вашего первого ul - прямого или нет - в вашем HTML.

Добавление> перед частью li в селекторе гарантирует, что вы оперируете только с <li> -элементами, которые являются прямыми потомками вашего ul, тем самым не давая ему войти во второй ul.

Надежда, которая его очищаетдо.

1 голос
/ 11 ноября 2011

Изменение:

$('.choix-kit_modele_list li > a').not('.choix-kit_type_list li a')

на:

$('.choix-kit_modele_list > li > a')
...