2011-05-30 18 views

Respuesta

6

Usted puede utilizar el método appendChild añadir un nuevo elemento

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 

resultante HTML

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

¿Qué sucede si quiero agregar un área de texto después de una específica y no después de la última? – armen

+16

No, esta no es la respuesta. –

+0

tenga en cuenta que 'getElementById' puede no funcionar en IE – xameeramir

102

La respuesta aceptada será w ork en este caso específico, pero para insertar un elemento tras otro de manera más general, la siguiente hace el trabajo:

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

Dónde newElement es el elemento a ser insertado y someElement es el elemento que es estar insertado después

W3C insertBefore método del método Node interface

+0

tenga en cuenta que 'nextSibling' puede no funcionar en IE – xameeramir

+3

@ student- [* nextSibling *] (https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#attribute -nextSibling) se introdujo en DOM nivel 1 (1998) y funciona de nuevo al IE 5 al menos. – RobG

6

outerHTML hace el truco demasiado:

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

Al igual que la respuesta aceptada, esto también supone que el nuevo elemento debe ir al final. –

Cuestiones relacionadas