0

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

<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");

有没有办法将此类仅添加到顶级 parentli和所有其他(更深的) parent 的不同类li

4

3 回答 3

2

只需使用>顶层的选择器ul

根据您当前的选择器:

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

li仅用于:

$("ul.top-level > li").parent().addClass("menuparent");
于 2012-11-07T00:46:30.963 回答
1

对于顶级lis

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

并且对于较低级别li

$("#top-level li li").addClass("someotherclass");
于 2012-11-07T00:46:20.057 回答
0

如果我理解正确,人们并没有为您找到更深层次的父母li 的答案,这是我的看法:

$("ul.top-level > li > ul").find('li > ul').parent().addClass("deeper-parent-li");
于 2012-11-07T00:57:16.133 回答