如何通过计算li来在父级ul上使用jquery addclass?

时间:2016-08-10 11:34:07

标签: jquery

我需要通过count li onload在我的父级ul上添加类。这是我的ul li的例子。

例如在子菜单中计算li并在那里添加类。

或其他定义li计数的类名。



<ul>
    <li><a href="#">top 1st menu</a>
      <ul>
      <li><a href="#">sub menu</a></li>
      <li><a href="#">sub menu</a></li>
      </ul>
    </li>
    <li><a href="#">top 2nd menu</a>
      <ul>
      <li><a href="#">sub menu</a></li>
      <li><a href="#">sub menu</a></li>
      <li><a href="#">sub menu</a></li>
      <li><a href="#">sub menu</a></li>
      </ul>
    </li>
</ul>
&#13;
&#13;
&#13;

希望它干净。如果没有,请让我知道我将提供截图以清楚更多。

谢谢

2 个答案:

答案 0 :(得分:1)

试试这个:

$("ul").addClass(function() {
    return ' ' + $(this).find(">li").length; //Change the class accordingly.
  });

演示:http://jsfiddle.net/GCu2D/1467/

带前缀:

 $("ul").addClass(function() {
    return 'sub' + $(this).find(">li").length; //Change the class accordingly.
  });

演示:http://jsfiddle.net/GCu2D/1466/

答案 1 :(得分:0)

你可以循环浏览ul 并找到li

$("ul").each(function (a, b) {
        if (!$(this).hasClass("nav")) {
            $(this).addClass("Sub" + String(b.children.length));
        }
    });