2010-02-11 3 views

ответ

228

попробуйте использовать after() метод:

$('#bla').after('<div id="space"></div>'); 

Documentation

+5

Методы .after() и .insertAfter() выполняют одну и ту же задачу. – Rifat

+7

Правильно, но это зависит от того, как вы его кодируете. Обычно я бы уже выбрал вход «#bla», а затем добавил дополнительный контент. Чисто мое предпочтение, хотя, я не уверен, имеет ли какой-либо метод преимущество в скорости. – Rowan

6

Прежде всего, input элемент не должен иметь закрывающий тег (от http://www.w3.org/TR/html401/interact/forms.html#edef-INPUT: End тег: запрещено ).

Во-вторых, вам нужна after(), а не append() функция.

+0

Правильно, но это то, что происходит, когда я пытаюсь функцию .append(). – skerit

+2

Если это XHTML, тогда входной элемент должен быть закрыт (но не с конечным тегом). – CiscoIPPhone

+2

В HTML4 '' не следует закрывать. –

30

попробовать

.insertAfter() 

здесь

$(content).insertAfter('#bla'); 
+12

Не должен ли ваш код больше напоминать '$ ('

') .insertAfter ('# bla')', а не '$ ('# bla'). InsertAfter (content);'? – Rowan

0

решаемые JQuery: Добавить элемент после того, как другой элемент

<script> 
$("p").append("<strong>Hello</strong>"); 
</script> 

ИЛИ

<script type="text/javascript"> 
jQuery(document).ready(function(){ 
jQuery (".sidebar_cart") .append("<a href='http://#'>Continue Shopping</a>"); 
}); 
</script>