2011-10-09 59 views
1
<a href='1.html' onclick='return false' class='selected'>video 1</a> 
<a href='2.html' onclick='return false' class=''>video 2</a> 
<a href='3.html' onclick='return false' class=''>video 3</a> 
<a href='4.html' onclick='return false' class=''>video 4</a> 

在上面的代码中,我有4个可能的菜单,这取决于我点击的链接标签。每当我点击一个没有被选中并且没有'selected'类的链接时,我想从之前选择的视频链接标记中移除'selected'类,然后将该类添加到被点击的链接上。如果元素有一个我正在寻找使用jQuery的类,我该如何移除一个类?

我没有问题添加类到被点击的链接,但我怎么从当前选择的链接标记中删除类“选定”,当我点击不同的链接?

我尝试以下和没有工作

$('a').hasClass('selected').removeClass('selected'); 

但显然它不是一个正确的功能和让我在错误日志在Firefox的错误消息。

+0

没有$( 'a.selected')removeClass( '选择')的工作您? – imm

回答

2

.hasClass()返回布尔值。只需使用选择API适当:

$('a.selected').removeClass('selected'); 

这就是说,这在逻辑上是等价的:。

$('a').removeClass('selected'); 
1
$('a').click(function(e){ 
    // current link 
    var $link = $(this); 

    // find all siblings (fellow links) and remove selected class 
    $link.siblings('a.selected').removeClass('selected'); 

    // make sure this class has the elected class 
    $link.addClass('selected'); 
}); 
+0

顺便说一句,工作演示:http://jsfiddle.net/CnSMX/ –

+0

你为什么不把它写成双线? '$(本).addClass( '选择')的兄弟姐妹()removeClass( '选择')。;返回false;' –

+1

@MattBall:用于分解目的/清晰度。 –

2
$("a.selected").removeClass("selected"); 
相关问题