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 个可能的菜单出现,具体取决于我单击的链接标签。每当我单击未选择且没有“已选择”类的链接时,我想从先前选择的视频链接标签中删除“已选择”类,并将该类添加到正在单击的链接中.

将类添加到正在单击的链接中没有问题,但是当我单击不同的链接时,如何从当前选择的链接标签中删除“已选择”类?

我尝试了以下,但没有奏效

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

但显然它不是一个正确的功能,并在 Firefox 的错误日志中给了我一条错误消息。

4

3 回答 3

2

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

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

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

$('a').removeClass('selected');
于 2011-10-09T02:55:49.790 回答
2
$("a.selected").removeClass("selected");
于 2011-10-09T02:56:21.980 回答
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');
});
于 2011-10-09T02:55:43.350 回答