Как написать элемент сразу после другого с помощью javascript?

Мне нужно добавить элемент onclick сразу после другого (текстовое поле).

Как это сделать?

Ответ 1

Обновление: этот вопрос может не отвечать на вопрос должным образом, но он был выбран как правильный ответ. Поэтому я добавляю правильный ответ здесь, так как большинство людей не прокручивают его, а первоначальный автор не обращался к Stackoverflow уже много лет.

Правильный ответ от @RobG

var div = document.getElementById( 'div' );
var newText = document.createElement( 'textarea' ); // create new textarea
div.parentNode.insertBefore( newText, div.nextSibling );

Старый Нерелевантный ответ:

Вы можете использовать метод appendChild, чтобы добавить новый элемент

HTML

<div id='div'>
  <textarea></textarea>
</div>

Javascript

var div = document.getElementById('div');

var newText = document.createElement('textarea'); // create new textarea

div.appendChild(newText); // add it to the div

Результирующий HTML

<div id='div'>
  <textarea></textarea>
  <textarea></textarea>
</div>

Ответ 2

Принятый ответ будет работать в этом конкретном случае, но для вставки элемента за другим в более общем виде выполняется следующее задание:

someElement.parentNode.insertBefore(newElement, someElement.nextSibling);

Где newElement - это элемент, который нужно вставить, а someElement - это элемент, который должен быть вставлен после.

W3C insertBefore метод Node интерфейс

Ответ 3

outerHTML тоже делает трюк:

allAloneElement.outerHTML+='<p>I am the new element</p>'