In jQuery $('body') kann die Auswahl das body-element, sondern $('body') kann wie $('some text'), so wie zu unterscheiden?
Der Grund ist, dass wir tun können,
$('<div>some text</div>').prependTo('#someDiv')
so, das ist auch ok, das zu tun:
$('some text').prependTo('#someDiv')
aber wir können nicht ändern some text
zu body
? body
ist genauso gut wie jeder text...
(der obige code ist das hinzufügen von some text
auf das div mit der id someDiv
, also was ist, wenn möchte ich hinzufügen, dass das Wort body
div?)
aber $('body') wird eine Auswahl für das body-element... so ist es eine Regel, die sagt, wir können jeden text als HTML-code, so lange wie es ist nicht der name der HTML-Elemente?
- können Sie erläutern, ein wenig mehr bitte?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Grunde ist dies nie gültig:
Sollte immer entweder einen Selektor (Suche nach einem element) oder html (erstellen von element(en)), Sie können die API für
$()
hier.Sie möchten, verwenden Sie eine der anderen DOM-Methoden Einsetzen hier,
.prepend()
in diesem Fall:Wenn es enthält html-tags, dann ist es als html behandelt (außer er entfernt den text, bevor der erste tag und nach dem letzten). zB
$("<div>some text</div>")
. Ansonsten wird es behandelt wie ein Selektor, z.B.$("some text")
.Umgang mit text-nodes nicht die JQuery-Stärke. Sie könnte verwenden Sie den normalen DOM-Methoden:
Dies ist, weil jQuery Auffassung Selektoren vor der Erstellung von HTML-snippets. "body" ist ein Gültiger Selektor und dient als Selektor.
Würden Sie sein besser von mit der Funktion prepend zum voranstellen HTML-und text-Knoten:
Übergebenen Wert vorangestellt wird, wird nicht verwendet einen Selektor und man könnte hinzufügen, die text - "Körper".