2014-06-09 24 views
-3

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> 

,我需要選擇每UL.list具有小於3項,並給它類「少數項」。 此代碼被簡化。最初列表是巨大的幾個級別。

非常感謝你提前:)

+2

嘗試新鮮事物然而? 「少於3件」是指三個孩子,還是三個後代元素? – j08691

回答

2

使用filter將是最好的解決辦法:

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

這裏是你如何能做到這一點:

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