04/02/2009Du code Javascript peut générer l'erreur suivante sur Internet Explorer 6 :
Celle-ci est dûe à une ligne du genre "obj.valeur=1" et la propriété valeur n'existe pas pour l'objet.
Sur la plupart des navigateurs, on peut créer une propriété d'objet directement en affectant une valeur à cette propriété. IE6 permet également cela mais seulement sur les objets instanciés dynamiquement par createElement.
Lorsqu'on accède via Javascript à un objet qui se trouve déjà sur la page, l'erreur ci-dessus se produit. Voici un moyen de la contourner, quel que soit le navigateur :
if (!obj.getAttributeNode('prop'))
{
var prop=document.createAttribute('prop');
prop.nodeValue='ma valeur';
obj.setAttributeNode(prop);
}
alert(obj.getAttributeNode('propriete').nodeValue);
Ce code crée la propriété prop sur l'objet obj, lui affecte une valeur puis l'affiche.
Dernière modification le 10/01/2019 - Quillevere.net