Inserer un noeud vide?

Résolu
Signaler
Messages postés
4
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
2 février 2008
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
bonsoir a tous
voila une question bete surement...

j ai un plan comme ceci

Code:, ----
   

   <!-- ELEMENT A INSERER 

-->
voila j aimerai inserer un nouvel element p apres div id=2
si je fais un
$(div1).appendChild.(new ) il m insere l element dans le div 2

le probleme vient (je crois) que j insere des elements vides.
j ai essaye avec insertBefore mais sans succes non plus !
d ou ma question
comment inserer des noeuds vides ?

ps j ai mis ce sujet ici car j utilise builder.node.....

4 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bonjour,
A la manière de The Bultez un ch'tit exemple
<html>
<head>
<title>Insere Before</title>
<script type= "text/javascript">
var k =0;
//---------------
function Insert(){
  //-- creation de l'element
  var szID  = "D_NEW"+ k++;
  var O_New = document.createElement("div");
  var O_Txt = document.createTextNode( 'Insersion DIV id="' +szID +'"');
  O_New.setAttribute("id", szID);
  O_New.appendChild( O_Txt);

  //-- Element on l'on doit inserer before
  var O_Dest = document.getElementById("D_DEST");

  //-- Insere l'element
  O_Dest.parentNode.insertBefore(O_New, O_Dest);
}
</script>
</head>

D_MAIN -> Ligne 1

D_DEST -> Ligne 1

D_DEST -> Ligne 2

</html>
...
;O)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

    $(div1).appendChild.(new )

    déjà, probablement "div1"
    ensuite, pas la bonne syntaxe pour appendchild, regarder sur selfHTML ici

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
ch'tit exemple ?   parce que tel que tu fais, on ne vois pas où cela s'ajoute....

    contenu div1
  

    contenu div2
   

<script type="text/javascript">
    var nv = document.createElement("div");
    nv.innerHTML+="nouveau";
    document.getElementById("div1").appendChild(nv);
</script>

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Messages postés
4
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
2 février 2008

desole j aurai du preciser que new etait du code fictif, juste pour aller a l essentiel

un bout de code alors
c est ma fonction pour créer des elements.

createNewItem= function(Rub){
 if (ItemTextDefaut != '') {
  
  var newItem =  Builder.node('p',
       {id: 'Item' + (Item.length + 1),
       className: 'Itemedit',
       style: 'display:none;'},
       ItemTextDefaut);
       
  var EDIT  =  Builder.node('div',{id: 'ItemEDIT' + (Item.length + 1),className: ItemAEditerClasse},
       [Builder.node('div',{className: 'ItemDRAG'})]       
       ); 
       
  var image  =  Builder.node('img',{src:'images/test1/button_cancel.png'});  
  
  var lien  =  Builder.node('a', {
       onclick: 'SupprimerItem(\''+Rub+'\',\''+EDIT.id+'\')',
       style: 'cursor:pointer;'}, [image]); 
       
  var SUP  =  Builder.node('div', {className: 'ItemSUP',style: 'display:none;'},lien);
  
  Item.push(newItem.id);
  ItemEDIT.push(EDIT.id); 
  $(Rub).appendChild(EDIT);
  $(EDIT).appendChild(newItem);
  $(EDIT).insertBefore(SUP,$(newItem.id));
  Effect.Appear(EDIT);
  Effect.Appear(newItem);  
  Event.observe(window, 'load', init(), false);
  Event.observe(window, 'load', editable(newItem.id), false);
  } 
 }

donc avec un plan comme ceci

<!--lien en position absolute-->

quand j insere p , il m l insere dans ItemSUP

/******************
voila j espere que c est plus clair ::

/***/