セレクタに一致するすべての要素ではなく、現在の要素を参照する必要があります。
$("#mainMenu td").click(function() {
$(this).css('background-color', '#EDEDED');
});
このようにCSSプロパティを設定する代わりに、CSSクラスを使用することをお勧めします。
これは、次のようなものです。
$("#mainMenu td").click(function() {
$(this).addClass('selected');
});
と;擬似セレクタ:visited
のみリンク(a
)で使用する必要があり
#mainMenu td.selected {
background-color: #EDEDED;
}
EDIT
、あなたはtable
を使うべきではありませんあなたが本当にする必要以上のよ。全体親li
要素を埋めるために代わりにテーブルのul
リストを使用して、リンク上display: block
jsFiddleを作成し
。
また、event.preventDefault()を使用してリンクをたどらないと、ページをリロードして選択/アクティブリンクのクラスを含めない可能性があります。リンクをたどり、ページをリロードするには、そのHTMLをレンダリングするためにサーバーサイドコードを使用する必要があります。
$("#mainMenu a").click(function(e) {
e.preventDefault(); // Don´t follow the link
$("#mainMenu a").removeClass('selected'); // Remove class on all menu items
$(this).addClass('selected'); // Add class to current menu item
});
リンク先の住所だけでなく、質問に直接コードを投稿してください。 –
それはなぜテーブルですか? http://css.maxdesign.com.au/listamatic/ – Quentin