Posez votre question Signaler

Javascript: compatibilité avec IE [Résolu]

Trema - Dernière réponse le 14 juil. 2011 à 18:00
Bonjour,
ce script semble poser problème lorsqu'il est interprété par IE:
var longueurMenu = window.document.getElementsByName("submenuitem").length; 
 for(var i = 0;i <= longueurMenu;i++) 
 { 
  //window.document.getElementsByName("submenuitem").item(i).style.visibility = "hidden"; 
  window.document.getElementsByName("submenuitem").item(i).style = "visibility:hidden;"; 
 } 
}

L'erreur renvoyée par ie porte a priori sur getElementsByName, ou sur item()...
Avez vous d'autres suggestions?
Notez que la ligne commentée fonctionne parfaitement sur FF... évidemment.
Merci par avance
edit: je vous donne l'erreur renvoyée par IE:
Détails de l'erreur de la page Web
Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; LUDI2; GTB7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET4.0C; SRS_IT_E8790272B276555B3FAC92; Hotbar 11.0.175.0)
Horodateur : Thu, 14 Jul 2011 14:14:06 UTC
Message : 'window.document.getElementsByName(...).item(...)' a la valeur Null ou n'est pas un objet.
Ligne : 25
Caractère : 3
Code : 0
URI : http://www.xp-audio.net/javascript.js
Message : Objet requis
Ligne : 11
Caractère : 3
Code : 0
URI : http://www.xp-audio.net/javascript.js
Lire la suite 

Javascript: compatibilité avec IE »

6 réponses
Réponse
+3
moins plus
Aïe pardon, j'ai oublié de préciser ceci:

cette fonction doit affecter un groupe d'éléments entier et au même moment. Or j'utilise déjà l'id de chaque élément à d'autres fin et celui ci doit rester unique.

Merci tout de même de la réponse :)
Lord Zero- 14 juil. 2011 à 16:50
A quoi correspond submenuitem ?
Trema - 14 juil. 2011 à 16:53
C'est un tableau qui contient les éléments d'un sous menu.
Le principe entier du script est de cacher tous les sous menus de la page au chargement.
Lord Zero- 14 juil. 2011 à 17:00
je vois pas ce qui t'empeche d'utiliser l'id de tes éléments,met ton tableau dans un div et utile le div pour cacher l'ensemble
Ajouter un commentaire
Réponse
+1
moins plus
Bon, affaire résolue
Ajouter un DIV et le cacher ne fonctionnait pas non plus (je n'ai pas compris pourquoi).

Donc j'ai juste ajouté un array global au .JS, lequel stocke les id de chaque "menuitem".
Esuite une boucle pour cacher tous les menuitem avec les id stockés dans l'array.

Un peu de bricolage ne fait jamais de mal.

Merci beaucoup LordZero pour tes réponses
Ajouter un commentaire
Ce document intitulé « Javascript: compatibilité avec IE » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?