Eine weitere fragwürdige jQuery-Quiz die Antwort auf W3Schools
Es ist ein jQuery-quiz gepostet auf der W3Schools-Website hier...
http://www.w3schools.com/quiztest/quiztest.asp?qtest=jQuery
Frage #16 wie folgt,
Die jQuery-Funktion wird verwendet, um zu verhindern, dass code ausgeführt wird, bevor das Dokument fertig geladen ist?
A. $(document).load()
B. $(document).ready()
C. $(body).onload()
Ich es falsch, durch die Auswahl von Antwort a (Ihre offizielle Antwort ist B.)
Antwortete ich denken, dass ich wusste, dass die folgenden,
-
Dokument.laden Sie feuert nach alles auf die Seite geladen einschließlich alle Bilder
-
Dokument.bereit, feuert erst, nachdem das DOM geladen ist (nicht unbedingt alle Bilder geladen wurden)
Interpretierte ich die ursprüngliche Frage der Formulierung, "Dokument fertig geladen ist", schließen Sie alles (mit allen Bildern). Nachdem alle, ich dachte, das ist, warum Sie nannte es "Dokument.laden". Auch für Ihre Antwort korrekt zu sein, müssten Sie zu dem Schluss, dass "DOM" ist das äquivalent zu einem "Dokument". Dies scheint nicht richtig zu sein denn warum sonst nennen Sie es "document object model" (DOM) statt nur "Dokument"?
Trotz der W3School behaupten, dass B die richtige Antwort, was ist wirklich die richtige Antwort?
Danke für Ihre Gedanken.
Sidenote: Zitiert meine eigenen Kommentare in meine andere Frage im Zusammenhang mit...
"Ich habe tatsächlich erfahren die meisten meiner jQuery über auf der jQuery-Website und kommen Suche hier bei StackOverflow, wenn ich stecken bleiben. Ich war meistens spielen, um mit dem quiz in der W3School, denn ich wurde untersucht deren "Voraussetzungen" für jQuery-Zertifizierung. Ich halte mich nicht für ein jQuery-Experte, aber ich leicht erzielte 95% (19/20) auf Ihre quiz. Sehen die unsachgemäße Wortlaut in die Antwort, ich dachte, ich würde bestätigen, was ich bereits vermutete, durch das posten hier. Meine Ansichten über diese Arten von Zertifizierungen sind nun verschieben."
EDIT:
Ich benannte die W3Schools von der Existenz dieses Threads.
EDIT 2:
Als ich antwortete, das original-quiz-Frage, ich dachte an $(window).Belastung ( - ), daher meine quiz-Antwort war eindeutig falsch. Ich glaube, diese Tatsache hinterlässt keiner der drei multiple-choice-Optionen als die richtige Antwort. Siehe meine ausführliche Antwort unten.
- I dub thee JQuery-Experte
- Ich Stimme zu... das ist der Grund, warum ich habe meine Kommentare von der anderen Frage. Meine Neugier treibt dies mehr als alles andere. Im ernst, ich habe gelernt, jQuery durch mich in 3 Wochen und jetzt habe ich den score von 95% auf ein quiz, das als eine Voraussetzung für die Zertifizierung test?! Ich denke nicht, dass meine eigentliche jQuery-Fähigkeiten, um überall in der Nähe von 95%, so meine Meinung auf diese Art der Zertifizierung ist nicht günstig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Frage ist mehrdeutig.
Die richtige Antwort hängt von Ihrer definition von Dokument. Wenn es der DOM, es wäre B. Wenn es die ganze Seite der Vermögenswerte, wäre es
$(window).load(function() { ... })
.Wie Sie sehen können, dieses quiz nervt.
document
JS-Darstellung der DOM?Aus der jQuery-API-Dokumentation...
Mehr über jQuery Bereit
Definieren DOM, von der W3C...
Definieren .load() aus der jQuery-API-Dokumentation
Nachdem die Erforschung dieser und viel besinnlichkeit, ich bin zu dem Schluss gekommen, dass die Formulierung der Frage falsch ist, da Ihre drei Möglichkeiten. Der Kurs, basiert auf dieser Linie des Denkens, da gibt es keine richtige Antwort auf die quiz-Frage, meine ursprüngliche Antwort war auch falsch.
Original W3Schools, jQuery Quiz-Frage:
Lassen Sie uns nun analysieren die ursprünglichen drei Antworten:
Dies war meine erste Antwort aber nach der Veröffentlichung dieser Frage auf StackOverflow, erkannte, dass $(document).load() ist nicht gültig code so weit wie ich das beurteilen kann. $(window).load() ist das, was ich ursprünglich im Sinn hatte. Mit $(window).load(), wird verhindert, dass code ausgeführt wird, bevor das gesamte Fenster geladen wurde, einschließlich aller Elemente, Bilder, etc.
Eine nicht die richtige Antwort, da die Formulierung "Dokument.laden Sie" zwar sollte " - Fenster.laden".
Dies ist die offizielle Antwort, und es ein gültiges jQuery-code. Er wird ausgelöst, wenn der DOM fertig ist, aber bevor etwas anderes geladen wurde. Ich würde sagen, man kann nicht sagen, dass das "Dokument" geladen hat, sonst das Wort "Dokument" und "DOM" hätten die gleiche Bedeutung und werden austauschbar.
B nicht die richtige Antwort, denn ohne die Bilder und anderen Vermögenswerten, die Seite (Dokument) hat nicht geladen.
C nicht die richtige Antwort einfach, weil "onload()" ist nicht Teil der jQuery-Bibliothek.
Fazit(s):
Wie die Frage formuliert wird, "Die jQuery-Funktion wird verwendet, um zu verhindern, dass code ausgeführt wird, bevor das Dokument fertig geladen ist?", es gibt keine richtige Antwort aus den drei vorgestellt. $(window).load() sollte die richtige Antwort, denn es bezieht sich auf die "Seite" oder "Dokument" als ganzes und nicht nur der DOM.
Akzeptieren die offizielle Antwort, "$(document).ready()", die ursprüngliche Frage sollte neu geschrieben werden wie folgt: "Die jQuery-Funktion wird verwendet, um zu verhindern, dass code ausgeführt wird, bevor der DOM vollständig geladen wurde?"