使用jquery添加一个单独的类来列出父项?

时间:2012-11-07 00:41:46

标签: javascript jquery jquery-selectors

我有一个不同深度的列表:

<ul id="top-level" class="top-level">
  <li>Item 1</li>
  <li>Item 2
    <ul class="sub-menu">
      <li>Sub item 1</li>
      <li>Sub item 2</li>
      <li>Sub item 3
        <ul class="sub-menu">
          <li>Subsub item 1</li>
          <li>Subsub item 2</li>
        </ul>
      </li>
      <li>Sub item 4</li>
    </ul>
  </li>
  <li>Item 3</li>
</ul>

我使用以下jquery脚本向父类添加一个类:

$("ul li ul").parent().addClass("menuparent");

有没有办法只将这个类添加到顶级父li',并为所有其他(更深)父li添加另一个类?

3 个答案:

答案 0 :(得分:2)

只需使用顶级>中的ul选择器。

根据您当前的选择器:

$("ul.top-level > li > ul").parent().addClass("menuparent");

仅适用于li

$("ul.top-level > li").parent().addClass("menuparent");

答案 1 :(得分:1)

对于顶级li s

$("#top-level > li").addClass("menuparent");

和更低级li

$("#top-level li li").addClass("someotherclass");

答案 2 :(得分:0)

如果我理解正确,人们不会给你找到更深层次的父母 li的答案,这是我的看法:

$("ul.top-level > li > ul").find('li > ul').parent().addClass("deeper-parent-li");