2009-10-25 6 views
2

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 mon code se brise sur la ligne où j'utilise la fonction appendChild.appendChild dans les anciens navigateurs IE

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 permet de résoudre dernière partie de mon problème, je peux ajouter 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 encore mettre des données à l'intérieur de l'élément enfant. createTextNode, innerHTML, setAttributes ne fonctionnent pas.

+4

Il peut être utile de définir ce que signifie "ancien IE". IE5? 4? 3? –

Répondre

2

Cela pourrait être sans rapport, mais il faut vérifier this link la façon dont quelqu'un a résolu cette question reste

Edit: et this link trop

+1

thanx, insertAdjacentElement a résolu le deuxième problème, mais je ne peux toujours pas modifier l'élément nouvellement créé. Les fonctions innerHTML et setAttribute ne fonctionnent pas. –

+0

Quelle est la version d'IE utilisée par innerHTML? car AFAIK, IE5.5 échoue lors de l'utilisation innerHTML sur