2017-07-23 7 views
0

Ich kann einfach nicht eine sehr einfache toggleClass() zu arbeiten, und ich kann nicht herausfinden, warum. Es ist eigentlich nur eine Übung, um mit jQuery zu beginnen. Es klappt hier gut als Snippet und wenn ich es manuell in die Konsole eintrage einfach nicht wenn ich die index.html Datei von meinem Computer in Chrome oder Firefox öffne. Wenn ich dann die jQuery manuell in der Konsole eingeben, funktioniert es auch! Die Dateien sind alle korrekt verlinkt, das habe ich via Alert bestätigt. Das Div erscheint rot und ändert seine Farbe nicht, wenn es sich bewegt. Irgendwelche Vorschläge??jQuery-Code wird nicht ausgeführt, wenn index.html im Browser geöffnet ist. keine Fehler in der Konsole

$('.test').hover(
 
    function() { 
 
    $(this).toggleClass('testhover'); 
 
});
.test { 
 
    width: 100px; 
 
    height: 100px; 
 
    background-color: red; 
 
} 
 

 
.testhover { 
 
    background-color: blue; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="test"></div>

+0

wow das ist hässlich als Kommentar lösen. Es tut uns leid. Die JQuery geht zuerst. ist das falsch? – Moheri

+0

Bitte fügen Sie Ihren vollständigen HTML-Code zu Ihrer Frage –

Antwort

0

das, weil Sie Ihr Skript vor dem .test Element einzufügen ist. Während das DOM geladen wird, führt es zuerst Ihr Skript aus und fügt div.test hinzu.

<div class="test"></div> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

dies wird es

+0

, das ist jedoch nur eine Lösung für dieses Snippet. Im wirklichen Leben, führen Sie normalerweise Ihren jQuery-Code auf document.ready jQuery hat eine spezielle Kurzschrift-Syntax dafür: $ (function() {// führen Sie Ihren Code hier}); – Sheo

+0

Vielen Dank. Ich weiß, das ist so einfach, aber offensichtlich wusste ich nicht, was ich in den Foren googlen oder suchen sollte. – Moheri

Verwandte Themen