Ich habe den folgenden Code zum Erstellen von Registerkarten. Es funktioniert am Ende des HTML-Body-Abschnitts, aber nicht, wenn ich es am Anfang platziere - bevor alle divs definiert sind. Warum könnte das sein?Warum funktioniert ein Jquery-Code nur, wenn er am Ende meines html-body-Abschnitts steht?
Antwort
Sie müssen es mit einem Dokument bereit Block wickeln. Dies verhindert, dass der Code ausgelöst wird, bis die Seite vollständig geladen ist.
<script type="text/javascript">
$(function() {
// do something on document ready
$("ul.tabs li.label").hide();
$("#tab-set > div").hide();
$("#tab-set > div").eq(0).show();
$("ul.tabs a").click(
function() {
$("ul.tabs a.selected").removeClass('selected');
$("#tab-set > div").hide();
$(""+$(this).attr("href")).show();
$(this).addClass('selected');
return false;
}
);
$("#toggle-label").click(function() {
$(".tabs li.label").toggle();
return false;
});
});
</script>
Dies ist im Grunde das erste, was Sie lernen, wenn Sie jQuery lernen. – Travis
Es ist höchstwahrscheinlich, weil das DOM noch nicht fertig ist, und deshalb existieren sie nicht.
Daher müssen Sie Folgendes tun:
$(function() {
// Any code in here will only be executed when the DOM is ready.
});
oder lassen Sie Ihren Code am Ende des Dokuments (oder beides). –
@coward: das ist nicht zuverlässig. Es funktioniert nicht die ganze Zeit und in jedem Browser –
jQuery(function($) {
// put your code in here and it will be executed
// when the document has fully loaded.
});
- 1. Warum hat die Art meines Typs am Ende "-> Constraint"?
- 2. Warum funktioniert nur die Hälfte meines Knopfes?
- 3. R gsub Wortänderung nur am Ende der
- 4. C++ printf nur am Ende erscheint
- 5. Jquery - Wenn der Cursor am Anfang/Ende in einem Textfeld steht
- 6. Warum wird die Methode am Ende ausgeführt?
- 7. Warum können Sie am Ende eines Sammlungsinitialisierers ein Komma haben?
- 8. verknüpfte Liste hinzufügen am Ende funktioniert nicht
- 9. Wie überprüfe ich, ob ein Wort am Ende eines Strings steht?
- 10. Warum sollte am Ende dieses Arrays ein Undefined sein?
- 11. Erkennen, wenn am Ende eines stringstream
- 12. Warum GC.KeepAlive am Ende anrufen, und nicht am Anfang?
- 13. Warum funktioniert dieser simple_html_dom-Selektor nicht, wenn er vollständig verwendet wird, aber nicht, wenn er in kleinere Selektoren aufgeteilt wird?
- 14. Wie laufen Sie einen Schluck "am Ende" Aufgabe aber nur am Ende der aktuellen Aufgabe?
- 15. Warum ist der Schatten meines MapView-Overlays am falschen Ort?
- 16. jQuery: Warum verwenden Sie document.ready wenn externe JS am Ende der Seite?
- 17. ein Newline-Zeichen am Ende einer Datei
- 18. Warum 'e0' am Ende einer definierten Konstante in c verwenden?
- 19. onProgressUpdate nur am Ende von AsyncTask (Socket-Erstellung) aufgerufen
- 20. Admob hinzufügen am Ende
- 21. ListRemoveDuplicates Ergebnis hat ein Komma am Ende
- 22. Warum enthält die Ausgabe am Ende eine Leerzeile?
- 23. __del__ am Programm Ende
- 24. Brauchen wir am Ende ein Semikolon?
- 25. ein bestimmtes Kontrollkästchen am Ende Hinzufügen
- 26. AlarmManager funktioniert nur für AM-Stunden
- 27. Asp.Net System.Web.Routing wird URL nicht leiten, wenn ASPX am Ende
- 28. Warum wird meine Perl-Schleife am Ende um eins unterbrochen?
- 29. Wie funktioniert ein endlicher Automat, wenn er nicht eindeutig ist?
- 30. Mac-Terminal Vim wird nur Rücktaste verwenden, wenn am Ende einer Zeile
„... vor allem der divs definiert werden“ sollten Sie einen Anhaltspunkt geben - wie können sie Ihr Code möglicherweise manipulieren, wenn sie noch nicht definiert haben? – NickFitz