Question

J'essaie de créer un nouvel élément dans mon code javascript et de l'ajouter à l'un de mes éléments. Mais il semble que les anciens navigateurs IE ne supportent pas cette fonction et que mon code se casse sur la ligne où j’utilise la fonction appendChild.

var child = document.createElement('span');
child.innerHTML = "Hello World!"; // Crashes here
parent.appendChild(child); // And here

Existe-t-il des alternatives que je peux utiliser pour IE?

Merci.

P.S le code fonctionne bien dans les navigateurs modernes.

UPD: Le code suivant résout la dernière partie de mon problème, je peux ajouter un enfant vide à un parent:

var child = document.createElement('span');
if (parent.insertAdjacentElement){
   parent.insertAdjacentElement('beforeEnd', child);
}
else if (parent.appendChild) {
   parent.appendChild(child);
}

Mais je dois quand même mettre des données à l'intérieur de l'élément enfant. createTextNode , innerHTML , setAttributes ne fonctionne pas.

Était-ce utile?

La solution

Cela n’est peut-être pas lié, mais vérifiez ce lien pour savoir comment quelqu'un d'autre a résolu ce problème

Modifier: et ce lien aussi

Autres conseils

On dirait que ça s'écrase sur la 2e ligne. innerHTML est écrit avec une minuscule i, pas une majuscule. Ce pourrait même être votre première ligne car il y a une faute de frappe, mais je suppose que c'est juste dans la question.

Cela résout-il le problème?

var child = document.createElement('span');
child.appendChild(document.createTextNode("Hello World!"));
parent.appendChild(child);

parent.innerHTML semble fonctionner correctement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top