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 typeNode
, 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
Vous devez vous connecter pour publier un commentaire.
Analyser la chaîne de DOM et ajouter l'élément que vous souhaitez dans le code HTML.
Fixe de travailler avec élément de chaîne.
Plunker a été corrigé.
sideTab
est une chaîne et nonnull
.