クリックするたびにリスト項目のアクティブなクラスを削除して設定しようとしています。現在、選択されているアクティブなクラスは削除されていますが、設定されていません。私が逃しているものは何ですか?ulリストのアクティブなクラスをjqueryで追加/削除しますか?
HTML
<ul class="nav nav-list">
<li class='nav-header'>Test</li>
<li class="active"><a href="page1.php">Page 1</a></li>
<li><a href="page2.php">Page 2</a></li>
<li><a href="page3.php">Page 3</li>
</ul>
jqueryの:
$('.nav-list').click(function() {
//console.log("Clicked");
$('.nav-list li.active').removeClass('active');
$(this).addClass('active');
});
ちょっと考えましたが、リスト内のリストオブジェクトではなく、実際のリストにアクティブなクラスを追加している可能性がありますか? .nav-list liから削除しますが、 '$(これ) 'を記録すると.nav-list – Chikilah
に追加すると、イベントがリスト自体を参照することになります。あなたはlistelement '$( '。nav-list li')'を参照するか、イベント委任を@minitechによってdesrcibedとしてよく使うようにしてください。 –