J'ai besoin d'ajouter un élément onclick juste après un autre (une zone de texte).
Comment je fais ça?
Mise à jour : Cette question peut ne pas répondre correctement à la question mais elle a été sélectionnée comme la bonne réponse. J'ajoute donc la bonne réponse ici car la plupart des gens ne défilent pas et l'auteur original n'a pas accédé à Stackoverflow depuis de nombreuses années maintenant.
var div = document.getElementById( 'div' );
var newText = document.createElement( 'textarea' ); // create new textarea
div.parentNode.insertBefore( newText, div.nextSibling );
Vous pouvez utiliser la méthode appendChild pour ajouter un nouvel élément
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 résultant
<div id='div'> <textarea></textarea> <textarea></textarea> </div>
La réponse acceptée fonctionnera dans ce cas spécifique, mais pour insérer un élément après l'autre de manière plus générale, voici ce qui fait le travail:
someElement.parentNode.insertBefore(newElement, someElement.nextSibling);
Où newElement est l'élément à insérer et someElement est l'élément qu'il doit être inséré après.
W3C insertBefore méthode de Node interface
La méthode outerHTML
fait aussi l'affaire:
allAloneElement.outerHTML+='<p>I am the new element</p>'