选择<a> with Jquery... headache since 2 hours</a>

时间:2011-11-11 07:22:12

标签: jquery jquery-selectors html-lists traversal

通过列表,这是我的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而不是他的孩子。所以我的代码有什么问题?”

先谢谢你的帮助

3 个答案:

答案 0 :(得分:3)

子选择器应位于.choix-kit_modele_listli之间,因为每个a在所有级别上都是li的孩子:

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

答案 1 :(得分:1)

变化:

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

为:

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

答案 2 :(得分:1)

$('ul.choix-kit_modele_list > li > a').each(function(){
   $(this).css("font-size", "26px");
});

您的代码无效,因为您的选择器应用于每个链接,这些链接是每个<li>的直接后代,它是您的第一个ul的后代 - 直接或不是 - 在您的HTML中。

添加&gt;在选择器中的li部分之前,确保您只对<li> - 作为ul的直接后代的项目进行操作,从而阻止它进入第二个ul。

希望能够解决它。