2012-01-27 4 views
1

, если у меня есть список Li, как это:Как добавить и удалить класс из списка элементов li?

<ul> 
<li>first </li> 
<li>second</li> 
<li>third</li> 
<li>fourth</li> 
</ul> 

Как бы я писать код в JQuery добавить класс к элементу LI, скажем, первый без класса добавляемого к другим?

Я пробовал это, но он, конечно, добавляет все элементы li.

$(document).ready(function() { 
$("ul li").click(function() { 
if(!$("ul li").hasClass('active')) 
{ 
$("ul li").addClass('active'); 
} 
}); 

}); 

я хочу, чтобы иметь возможность добавить класс активной только литиево элемент, который был щелчок, и удалить все другие, кто существует активный добавил к ним. как бы я это сделал? благодаря

ответ

5

один способ

$("ul li").click(function() { 
    var $this = $(this); // reference to the clicked li 
    if(!$this.hasClass('active')) 
    { 
    $this.addClass('active'); 
    $('ul li').not($this).removeClass('active'); 
    } 
}); 

Живой пример: http://jsfiddle.net/Xb9yx/

Другой способ

$("ul li").click(function() { 
    var $this = $(this); // reference to the clicked li 
    if(!$this.hasClass('active')) 
    { 
    $this.addClass('active').siblings().removeClass('active'); 
    } 
}); 

Живой пример: http://jsfiddle.net/d5Sde/

Это один из тех из них, где, вероятно, сто способы достижения того же вещь.

Смежные вопросы