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 に答える