代码之家  ›  专栏  ›  技术社区  ›  Alexsander Akers

将jquery函数应用于一个元素,*而不是*其后代

  •  0
  • Alexsander Akers  · 技术社区  · 15 年前

    我想将某些类添加到我的网站导航标题的各个级别。所以我最后会吃点东西,比如

    $('#navCol > ul > li > ul > li > ul').addClass('lvl2');
        // Each ‘li > ul’ past the first ‘ul’ indicates another sub-level.
    

    添加 lvl2 类到第二级,等等。已经说过,它不仅将所述类应用到第二级,还将其添加到另一级 ul 在它下面。有没有一种方法可以指定我只想包含元素而不包含其后代?

    1 回复  |  直到 15 年前
        1
  •  3
  •   Chris Gutierrez    15 年前

    尝试一下

    $('#navCol > ul > li > ul > li').children("ul").each(function() {
        $(this).addClass('lvl2');
    });
    

    或者,如果你只想要第一个URL,尝试类似

    $('#navCol > ul > li > ul > li').children("ul:first").each(function() {
        $(this).addClass('lvl2');
    });