JS Échec de l'exécution de 'appendChild' sur 'Noeud': paramètre 1 est de type "Nœud"

Je suis en train d'ajouter dynamiquement des informations à partir d'un XML et ajouter à un div. Mon idée est d'ajouter la nouvelle div à l'intérieur de l'existant div (pas obligatoire.. je peux aussi les ajouter à l'existant div)

JS

    var newDiv = document.createElement("div");  //new Div
    newDiv.appendChild(sideTab);
    var existingDiv = document.getElementById("vertical");  //Existing div
    document.body.insertBefore(newDiv,existingDiv);

sideTab aura quelque chose comme ça:

 <ul class ="tab" >
     <li><a href="#" class="tab"> Something</a></li>
 </ul>

Existant div

    <div class="left" id="vertical">

Mais quand je l'execute, j'obtiens cette erreur:
Échec de l'exécution de 'appendChild' sur 'Noeud': paramètre 1 est de type "Nœud".

  • Où avez-vous défini des sideTab?
  • semble que tout ce que vous avez dans sideTab variable n'est pas de type Node, juste ce que le message d'erreur dit.
  • La spéculation: sideTab's la valeur est une chaîne de HTML)
  • sideTab est rempli à l'intérieur d'une boucle (c'est un très grand de la méthode). Voici l'info, je monte sur le débogage avec la variable sideTab: <ul class ="onglet" > <li><a href="#" class="onglet"> quelque Chose</a></li> </ul>
  • Puis le message d'erreur explique très clairement ce qui est mal.
  • voici la définition de sideTab : var sideTab = "<ul class =\"onglet\" >"; après que je reçois tous les li et le href et il se termine par sideTab += "</ul>"
  • Donc c'est une chaîne et non un nœud. Il doit être un nœud. Voir createElement et amis.
  • ok merci, je vais

InformationsquelleAutor Joseph | 2016-09-28