私はこのコードを持っている:なぜ私の<a>タグの選択が機能していないのですか?
<div class="list-group" id="generalView">
<a href="" id="today" onclick="displayData()" class="list-group-item" data-toggle="modal" data-target="#displayDiary">
<h4 class="list-group-item-heading">Today's Diary</h4>
</a>
<a href="" class="list-group-item">
<h4 class="list-group-item-heading">Last Week's Diaries</h4>
</a>
<a href="" class="list-group-item">
<h4 class="list-group-item-heading">Last Month's Diaries</h4>
</a>
</div>
$('#generalView > a').click(function(e) {
e.preventDefault();
$('#generalView > a').removeClass('active');
$(this).addClass('active');
});
私は<a>
タグをクリックするが、私の選択が働いていないときに、クラスactive
を追加します。間違って選択していますか?私はすでに、すべての<a>
要素に単一のクラスを与えようとしましたが、そのクラスを選択しようとしましたが、うまくいきません。なぜこうなった?
次のコードを考えてみます。https: // jsfi ddle.net/ejfxa4jL/。ハンドラ関数に渡されたイベントで 'preventDefault()'を呼び出す必要があることに注意してください。そうしないと、ページが転送され、状態が失われます。ページ間に状態を保持したい場合は、セレクションをどこかに格納する必要があります。クエリーストリングパラメータ、 'localStorage'、' sessionStorage'、クッキー、サーバサイドセッション、またはデータストアとしてのURLで指定します。 –
私は答えを書くことができるよりも速く質問を編集しています。一点では問題ありませんでした。私が見る限り、セレクタに問題はありませんでした。あなただけの 'addClass'呼び出しの' $(this) 'を'#generalView'の子である ''タグではなくターゲットにしたいと思っているでしょうか?あなたが確信しているページ - アラートを使う必要はありません:)。これはあまり関連性がないが、編集した場合の謝罪! – Brian
それはとても妥当な音と私はそれを試みたが、動作しませんでした。内部のコードは機能しません。私も ''タグだけを選択しようとしましたが、うまくいきません。私が 'preventDefault()'を呼び出すときにも同じように見える –