Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1697 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [DOM] : Probleme appendChild

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[DOM] : Probleme appendChild

n°1715686
krovomi
Posté le 10-04-2008 à 15:40:26  profilanswer
 

Bonjour,
 
J'ai un petit problème lors de ma création d'elements en DOM :
 
En effet, je voudrais au final que mon code HTML soit de la forme :  
 

Code :
  1. <div id="mainDiv">
  2.       <input type="button">
  3.       <div id="ajaxDiv">
  4.       ...
  5.       </div>
  6. </div>


 
Mais lorsque j'execute ce code là :
 

Code :
  1. elem = document.createElement("div" );
  2.     elem.setAttribute("id", "mainDiv" );
  3.     elem.setAttribute("style", "display:block" );
  4.     elem.setAttribute("class", "ajax" );
  5.     button = document.createElement("input" );
  6.     button.type = "button";
  7.     button.setAttribute("height", "18px;" );
  8.     button.setAttribute("id", "button" );
  9.     button.setAttribute("value", "!" );
  10.     div = document.createElement("div" );
  11.     div.setAttribute("id", "divlist" );
  12.     div.setAttribute("style", "display:block" );
  13.     div.innerHTML = "Test";
  14.     div.setAttribute("class", "ajax" );
  15.     elem.appendChild(button);
  16.     button.appendChild(div);


 
Je m'aperçois qu'il me génère un code qui est celui-ci:
 

Code :
  1. <div id="mainDiv" style="display: block;" class="ajax editable" title="">
  2.         <input type="button" height="18" id="button" value="!" title="">
  3.         <div id="divlist" style="display: block;" class="ajax">...</div>
  4. </input>
  5. </div>


 
Bizarrement sous Firebug en enlevant le </input> ça marche nikel et donc je voudrais comprendre pourquoi le  DOM me rajoute cette balise </input> que je ne veux évidemment pas.
 
Merci d'avance.

mood
Publicité
Posté le 10-04-2008 à 15:40:26  profilanswer
 

n°1715779
gatsu35
Blablaté par Harko
Posté le 10-04-2008 à 16:49:57  profilanswer
 

input est une balise qui ne peut rien contenir et toi dans ton code du fait :  
button.appendChild(div)
ce qui veut dire : met moi ce div dans le input, c'est un peut bête nan ? :)
fait un simple elem.appendChild(div) et ton pb est réglé.

n°1715787
Halike
Posté le 10-04-2008 à 16:54:13  profilanswer
 

Bonjour,
C'est parce que tu attache ton element div en tant qu'enfant de l'element input, et non du div principal.
La ligne 20 devrait etre:

Code :
  1. elem.appendChild(div)
 

Bonne journée :)

 

[edit]Grillé :(


Message édité par Halike le 10-04-2008 à 16:54:38
n°1715791
krovomi
Posté le 10-04-2008 à 16:59:16  profilanswer
 

oui c'etait bien :) Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [DOM] : Probleme appendChild

 

Sujets relatifs
[Batch] Problème de variable dans boucle for[CSS] Tit problème avec la bordure d'une table
[JS] innerHTML ou DOM ?problème d'inactivité suivie d'une saisie de texte
Problème de publication d'Eclipse vers JBossdéclaration d'un tableau d'objet probléme
Problème initialisation parserJDOM: problème de namespace
[EXCEL] Problème RECHERCHEV dynamiqueProblème template template [RESOLU]
Plus de sujets relatifs à : [DOM] : Probleme appendChild


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR