Ich habe diesen Code:Warum meine <a> Tag-Auswahl nicht funktioniert?
<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');
});
Ich mag active
eine Klasse hinzuzufügen, wenn ein <a>
Tag angeklickt wird, aber meine Auswahl funktioniert nicht. Wähle ich falsch? Ich habe bereits versucht, jedem Element eine <a>
-Elemente zu geben und dann zu versuchen, diese Klasse auszuwählen, funktioniert aber nicht so gut. Warum passiert dies?
Ihr Code scheint
betrachten folgenden Code ohne js getan werden, um gut zu funktionieren: https: // jsfi ddle.net/ejfxa4jL/. Beachten Sie, dass Sie 'preventDefault()' für das Ereignis aufrufen müssen, das an die Handler-Funktion übergeben wird. Andernfalls wird die Seite übertragen und der Status geht verloren. Wenn Sie den Status zwischen Seiten beibehalten möchten, müssen Sie die Auswahl irgendwo speichern, z. in der URL als Querystring-Parameter, 'localStorage',' sessionStorage', ein Cookie, die serverseitige Sitzung oder in einem Datenspeicher. –
Sie bearbeiten die Frage schneller als ich eine Antwort schreiben kann - an einem Punkt war es in Ordnung - es gab kein Problem mit Ihren Selektoren, soweit ich sehen konnte. Das einzige Problem ist, dass Sie wahrscheinlich '$ (this)' für Ihren 'addClass' Aufruf nicht jedes' 'Tag, das ein Kind von' # generalView' ist, tarieren möchten. Wenn Sie jemals Zweifel daran haben, testen Sie sie einfach in der Konsole auf der Seite, über die Sie sich nicht sicher sind - keine Notwendigkeit, Benachrichtigungen zu verwenden :). Entschuldigung, wenn das jetzt weniger relevant ist, aber die Änderungen! – Brian
Das klingt so vernünftig und ich habe das versucht, aber nicht funktioniert. Der Code im Inneren funktioniert nicht. Ich habe sogar versucht, nur die '' Tags auszuwählen und funktioniert auch nicht so gut. Sieht so aus, als wenn ich 'preventDefault() 'aufrufen würde, der Code funktioniert einfach nicht –