web-dev-qa-db-ja.com

javascriptで要素を次々と書く方法は?

要素onclickを直後(textarea)に追加する必要があります。

それ、どうやったら出来るの?

34
DiegoP.

Update:この質問は質問に適切に答えられないかもしれませんが、正しい答えとして選択されました。だから私はここに正しい答えを追加しています。なぜなら、ほとんどの人はそれを過ぎてスクロールせず、元の作者は何年も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>
8
Ibu

受け入れられた答えはこの特定のケースで機能しますが、より一般的に次の要素を挿入するために、次は仕事をします:

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

newElementは挿入される要素であり、someElementは要素it後に挿入されます。

W3C insertBeforeNode interface のメソッド

124
RobG

outerHTMLメソッドもトリックを行います:

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