1

この単純なマークアップを使用すると:

<a id="foo" class="first" href="#"></a>

私はこのようなものを取得したい:

$('#foo').click (function () { 
    if $('foo').hasClass('first') { $('foo').removeClass('first').addClass('second');

    if $('foo').hasClass('second') { $('foo').removeClass('second').addClass('first'); 
});

「最初」または「2番目」の場合、どのクラスの前に要素があるかわかりません。要素をクリックするたびにこれを実行して、クラスの読み取りを更新するにはどうすればよいですか?

はっきりしていたらいいのに。

どんな助けでも感謝します。

前もって感謝します。

4

2 に答える 2

4

一度に複数のクラスを切り替えるために使用する最良の方法toggleClass()は、次のように複数のクラスを同時に渡すことです。

$('#foo').click(function() {
  $(this).toggleClass('first second');
});

ここで動作することがわかります: http://jsfiddle.net/jfriend00/HWkWC/

注: 複数のクラスをtoggleClass()(スペースで区切って) に渡すことができます。これにより、 を複数回呼び出すのではなく、各クラスを個別に切り替えることができますtoggleClass()。これはすべて、toggleClassのjQuery ドキュメントで説明されています。

于 2012-01-04T18:56:04.767 に答える
3

http://api.jquery.com/toggleClass/

$('#foo').click(function() {
   $(this).toggleClass('first').toggleClass('second');
}
于 2012-01-04T18:35:18.390 に答える