jQuery addClass nicht funktioniert?
Ich bin versucht, eine website zu bauen, aber ich bekomme immer das gleiche problem.
Sobald die Seite geladen wird, möchte ich hinzufügen-Klasse, um den Menüpunkt (aktiv) so sieht es aus, ausgewählt. Dies ist der code, den ich verwenden (es befindet sich direkt vor dem schließenden body-tag).
$(document).ready(function(){
$('#navList li a#navHome').addClass('active');
});
HTML ist wie folgt:
<ul id="navList">
<li><a href="index.php" title="Home" id="navHome">home</a></li>
</ul>
Jedoch, wenn ich überprüfen Sie das element, keine Klasse Hinzugefügt wird. Ich kann wirklich nicht herausfinden, was ich falsch mache?
Die jQuery-Datei ist korrekt verlinkt, weil andere jQuery-code funktioniert.
- Sie haben versucht, appaned ein string oder somesing instand von addclass()? denn es könnte sein, der Selektor
- Was meinst du mit string statt addClass?
- jsfiddle.net/sp88X - Beispiel. Was passiert in der Konsole ?
- anstelle dieses u könnte nur hinzufügen, dass die
active
Klasse ur HTMLm 🙂 (nur zu sagen) -<a href="index.php" title="Home" class="active" id="navHome">
- Da IDs eindeutig sind, können Sie nur verwenden Sie diesen Selektor
$('#navHome').addClass('active')
. Als für, warum es nicht funktioniert: Sie sind immer jede Konsole Fehler? - Scheint Arbeit für mich... jsfiddle.net/3Pzpr Auch ID werden sollen einzigartig im DOM, so dass diese auch funktioniert. jsfiddle.net/3Pzpr/1
- Nein, nichts in der Konsole. Die navigation (also HTML-Code) enthalten ist mit einem include_once wenn, spielt das eine Rolle vielleicht?
- Problem gelöst... ich habe die jQuery auf der Oberseite meiner anderen codes (nur nach dem ersten body-tag) und entfernt die anderen jQuery-codes... komisch. Aber es ist nun behoben!
- Das ist egal, da das ganze Dokument wird in einem Stück, wenn der client-Seite in JS ausgeführt wird. Sind Sie laden jQuery richtig?
- wahrscheinlich ist der code, zeigte sich in der Frage wurde vor dem laden von jQuery und der Fehler war, dass $ nicht definiert ist 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie versuchen, diese:
Fiddle hier