0

誰かがクリックすると背景色が異なるリストアイテムのメニューがあります。私はそれを達成するためにこのコードを使用しました:

$(function() {
   var links = $('a.link').click(function() {
       links.removeClass('active');
       $(this).addClass('active');
   });
});

それはうまくいきました。CSSも正常に機能するため、色が変わりますが、問題が1つあります。それは、標準のリストアイテムを、誰かがクリックする前に背景色に設定できないことです。ですから、誰かがクリックする前に、リストアイテムの背景を赤にしたいのです。誰かが別のリストアイテムをクリックした場合、この赤い背景色を標準からクリックしたものに切り替える必要があります。

どうすればこれを達成できますか?

これがメニューです:

<nav id="navigation">
<ul id="quick-index-nav" class="slim">
<li>
<a class="link" href="#">First one</a>
</li>
<li>
<a class="link" target="main" href="#">Second one</a>
</li>
<li>
<a class="link" href="#">Third one</a>
</li>
</ul>
</nav>
4

2 に答える 2

1

スクリプトに別のremoveClassを追加し、クリックする前に強調表示したいリストアイテムに背景色を指定しました。それは魅力のように機能しました。

$(function() {
    $('a.link').click(function() {
       $('.link').removeClass('active');
       $('.a-class-name').removeClass('a-class-name');
       $(this).addClass('active');
   });
});
于 2012-12-24T12:43:09.987 に答える
0

なぜあなたはそれをvarに入れるのですか?また、クラスを選択する場合は、jqueryセレクターに配置する必要があります$('.link')

$(function() {
    $('a.link').click(function() {
       $('.link').removeClass('active');
       $(this).addClass('active');
   });
});
于 2012-12-23T21:06:09.833 に答える