如何用javascript一个接一个地写一个元素?

Die*_*oP. 36 javascript element

我需要在一个接一个地附加一个元素onclick(textarea).

我怎么做?

Rob*_*obG 124

接受的答案将适用于这种特定情况,但是为了更普遍地插入一个元素,以下内容完成了以下工作:

someElement.parentNode.insertBefore(newElement, someElement.nextSibling);
Run Code Online (Sandbox Code Playgroud)

其中newElement是要插入的元素,someElement是要插入的元素.

W3C insertBefore Node接口的方法

  • 在DOM级别1(1998)中引入了@ student- [*nextSibling*](https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#attribute-nextSibling)并至少回到IE 5. (3认同)

Ibu*_*Ibu 9

更新:该问题可能无法正确回答问题,但已被选择为正确答案。因此,我在这里添加了正确的答案,因为大多数人都不会滚过它,而原始作者已经有很多年没有访问Stackoverflow了。

来自@RobG的正确答案

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

旧的无关答案:

您可以使用appendChild方法添加新元素

的HTML

<div id='div'>
  <textarea></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)

Java脚本

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

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

div.appendChild(newText); // add it to the div
Run Code Online (Sandbox Code Playgroud)

产生的HTML

<div id='div'>
  <textarea></textarea>
  <textarea></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 不,这不是答案。 (24认同)
  • 如果我想在特定文本区域之后而不是最后一个文本区域之后添加一个文本区域怎么办? (8认同)
  • @student`getElementById`可能在IE中不起作用?你是认真的吗?您曾经使用过IE吗? (3认同)

use*_*851 8

outerHTML 方法也有诀窍:

allAloneElement.outerHTML+='<p>I am the new element</p>'
Run Code Online (Sandbox Code Playgroud)