jQuery选择器的长度

时间:2014-06-09 16:48:26

标签: javascript jquery

这是HTML的简化版本:

            <ul class="list">
                <li>
                    <ul class="list">
                        <li>
                            <ul class="list">
                                <li></li>
                                <li></li>
                                <li></li>
                            </ul>
                        </li>
                        <li>
                            <ul class="list">
                                <li></li>
                                <li></li>
                            </ul>
                        </li>
                        <li>
                            <ul class="list">
                                <li></li>
                            </ul>
                        </li>
                        <li></li>
                    </ul>
                </li>
            </ul>

我需要选择每个少于3个项目的UL.list并将其命名为“less-items”。 此代码已简化。最初列表很多,有几个级别。

非常感谢您提前:))

3 个答案:

答案 0 :(得分:2)

使用filter将是最佳解决方案:

$('.list').filter(function(){
   return $(this).children().length<3
}).addClass('few-items');

答案 1 :(得分:1)

以下是如何做到这一点:

$('ul').filter(function() { 
    return $(this).children('li').length < 3; 
}).addClass( 'few-items' );

答案 2 :(得分:1)

$("ul").each(function(index) {
  if($(this).children("li").length < 3)
  {
    $(this).addClass("few-items")
  }
});