2009-06-21 10 views
2

Ich habe eine einfache jQuery Frage.jquery insertbefore

Wieso kann ich das nicht tun?

$("<div class='flora'></div>").insertBefore('</body>'); 

Ich will nur ein neues div am Ende der HTML-Seite hinzuzufügen. Also dachte ich, ich würde die .insertBefore-Methode verwenden, aber jQuery scheint nicht auf das </body>-Tag zu zielen.

Gedanken?

Danke!

+0

Kurz gesagt, wo Sie "" haben, brauchen Sie einen Selektor. Aus diesem Grund wird 'insertBefore()' nicht für Ihre Bedürfnisse funktionieren. Daher der Vorschlag von 'append()'. – iconoclast

Antwort

8

Probieren Sie etwas wie

$('body').append("<div class='flora'></div>"); 

Und wenn Sie wirklich vor etwas anhängen wollen ... Sie vor() -Methode verwenden können.

$('something').before("<div class='flora'></div>"); 
+0

Sie können auch $ ("

") .appendTo (' Karosserie'); – MiffTheFox

+0

Danke Boushley. Ich fand das nur wenige Minuten nach der Veröffentlichung heraus. – Loony2nz

2

Sie sollten stattdessen die Methode .append() verwenden.

http://docs.jquery.com/Manipulation/append

„anhängen Inhalt an der Innenseite jedes verglichene Element. Diese Operation ist die beste Art und Weise Elemente im Inneren einzusetzen, am Ende aller abgestimmte Elemente. Es ist ähnlich einer appendChild zu tun zu allen angegebenen Elementen und fügt sie in das Dokument ein. "

+1

Entschuldigung, dass du deinen Donner stiehlst. – Boushley

+0

Hehe. Kein Problem, Mann :) Brilliante Köpfe denken gleich - wir beide kennen zufällig die Antwort darauf, und Sie wurden dafür belohnt, wie Sie sein sollten :) – Sampson

Verwandte Themen