2014-09-22 24 views
-2

的要求是,如果我有两个以上(LI)标签,然后在UL标签应用类“col_3”,否则它应该是一流的“COL_2”添加不同类按李标签的数量

例子: 如果两列

<div class="container"> 
    <ul class="col_2"> 
    <li>One</li> 
    <li>Two</li> 
    </ul> 
</div> 

示例: 如果两个以上的列

<div class="container"> 
    <ul class="col_3"> 
    <li>One</li> 
    <li>Two</li> 
    <li>three</li> 
    <li>four</li> 
    <li>five</li> 
    <li>six</li> 
    <li>seven</li> 
    <li>eight</li> 
    <li>nine</li> 
    </ul> 
</div> 
+0

那么,有什么问题查里的长度,然后removeClass COL_2和addClass col_3? – SSA 2014-09-22 12:32:37

回答

3

用途:

if($('.container li').length>2){ 
    $('.container ul').addClass('col_3'); 
}else{ 
    $('.container ul').addClass('col_2'); 
} 
+0

我们还必须编写else部分。因为我们不知道初始化类(无论是col_2还是col_3)。 – maddy 2014-09-22 12:35:49

1

试试这个:遍历所有UL,然后应用类相应

//remove all classes first 

$('.container ul').removeClass('col_2 col_3'); 

//iterate all container and apply class 
$('.container').each(function(){ 
    if($(this).find('li').length >2) 
    $(this).find('ul').addClass('col_3'); 
    else 
    $(this).find('ul').addClass('col_2'); 
});