私はリンクのonClick変更についてかなり研究しましたが、私が必要とする解決方法を理解できませんでした。私は3つのリンクを含むサイドバーメニューを持っています。私はデフォルトとして表示したいコンテンツにデフォルトの「アクティブ」クラスを追加しました。しかし、私がサイドバーの別のリンクをクリックすると、前のリンクの "アクティブ"クラスを削除し、 "非アクティブ"に置き換えてから、新しいリンクに "アクティブ"を適用します。私は私が上記(onclickのaddClassする方法を見つけ出す手伝っこのprevious post読みリンククラスの削除/追加onclick
$(function(){
$('a.inactive').click(function(){
$('a.inactive').removeClass('inactive');
$(this).addClass('active');
});
});
:
HTML::
<div id="sidebar">
<ul>
<li><a href="#" id="1" class="active">1</a></li>
<li><a href="#" id="2" class="inactive">2</a></li>
<li><a href="#" id="3" class="inactive">3</a></li>
</ul>
</div>
CSS:
a.active {
background-color:#ccd9ff;
border-radius:15px 15px;
}
a.inactive {
border:0;
background:0;
}
jQueryのここに私のコードです)しかし、私はその後、アクティブでないリンクの「アクティブな」クラスを削除することができませんでした。誰かが私を助けることができますか?
@Mario:CSS ':active'を達成しようとしているものOPは異なる意味を持ちます。最後にクリックされた要素は覚えていませんが、現在クリックされている要素を参照します。 clickイベントが完了すると、 ':active'はもはや一致しません。 [Example。](http://jsfiddle.net/TB2rn/1/) – user113716