2009-06-21 2 views
2

У меня есть простой вопрос jQuery.jquery insertbefore

Почему я не могу это сделать?

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

Я просто хочу добавить новый div в конец HTML-страницы. Поэтому я думал, что буду использовать метод .insertBefore, но jQuery, похоже, не нравится таргетинг на тег </body>.

мысли?

Спасибо!

+0

Короче говоря, у вас есть '''', вам нужен селектор. Из-за этого 'insertBefore()' не будет работать для ваших нужд. Следовательно, предложение 'append()'. – iconoclast

ответ

8

Try что-то вроде

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

И если вы действительно хотите добавить, прежде чем что-то ... Вы можете использовать метод до().

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

Вы также можете использовать $ ("

") .appendTo (' тело '); – MiffTheFox

+0

Спасибо Boushley. Я узнал об этом всего через пару минут после публикации этого сообщения. – Loony2nz

2

Вместо этого вы должны использовать метод .append().

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

«Добавить содержимое внутрь каждого элемента набора. Эта операция является лучшим способом для вставки элементов внутри, в конце концов, из всех элементов. Он подобен делать в AppendChild ко всем указанным элементам, добавив их в документ ».

+1

Извините, что украл ваш гром. – Boushley

+0

Хе-хе. Нет проблем, человек :) Блестящие мысли думают одинаково - мы оба знаем ответ на этот вопрос, и вы были вознаграждены за него, как и должно быть :) – Sampson

Смежные вопросы