2010-01-02 7 views
0

Supposons que j'ai deux DIVs sur ma page.Comment ajouter un noeud (étiquette) créé dynamiquement à l'emplacement désiré?

<body> 
<div id="d1"></div> 
<div id="d2"></div> 
</body> 

Je veux créer un nouveau JavaScript DIV dynamiquement à l'aide et le placer entre d1 et d2. Si j'utilise la méthode appendChild, la nouvelle DIV est placée à la fin.

À l'heure actuelle, je ne peux penser à la innerHTML du CORPS et l'ajout de la nouvelle DIV à l'emplacement désiré. Y a-t-il un meilleur moyen?

Répondre

2

insertBefore

document.body.insertBefore( 
    newNode, 
    document.getElementById('d2') 
); 
+0

Merci beaucoup! – Madhu

1

Il est le Node.insertBefore method d'insérer un nœud avant une autre:

var newNode = document.createElement("div"), 
    d2 = document.getElementById("d2"); 
d2.parentNode.insertBefore(newNode, d2); 
+0

J'aurais dû référé le DOM avant de demander. :) Merci! – Madhu

0

Pour la manipulation du DOM, API jQuery offre diverses methods.Following utiles sont quelques-uns d'entre eux: -

insertBefore(), insertAfter(), append(), appendTo(), prepend(), prependTo(), etc. Ces fonctions fournissent plus de contrôle sur l'insertion d'éléments DOM à des emplacements spécifiques dans une page Web.

Questions connexes