2011-07-26 6 views
1

Ce script fonctionne dans IE8 et Firefox, mais il n'applique pas la classe "current" ou efface le "style" dans IE7. Quelqu'un sait pourquoi? J'ai remplacé les vrais chemins d'identification et de fichiers par des chemins génériques quand je les ai copiés ici pour des raisons de sécurité.Internet Explorer 7 Javascript Problème?

var img = document.getElementById("imageID"); 
var div = document.getElementById("divID"); 

if (img.getAttribute('src') == "imagefilepath.gif") { 
div.className = "current"; 
div.setAttribute('style', ' '); 
} 
+1

Qu'est-ce que 'img.getAttribute ('src')' 'contenir sinon "imagefilepath.gif"'? –

+0

Il peut contenir un certain nombre de chemins de fichier différents. J'ai un long bloc IF, mais je viens de copier la première déclaration IF ici. – Michael

+1

IE 7 (et versions antérieures) ne prend pas en charge 'class' et 'style' pour 'setAttribute'. – Saxoier

Répondre

0

Vous pouvez utiliser ce qui va fonctionner dans toutes les versions:

someId.setAttribute("className", "someClassName") || 
someId.setAttribute("class", "someClassName") 
1

Il semble que IE7 comprend tout le chemin dans l'attribut src, votre condition n'est pas satisfaite.

http://jsfiddle.net/4E58r/1/

+0

Eh bien, j'utilise tout le chemin dans le vrai script. "imagefilepath.gif" était juste un chemin générique que je l'ai remplacé avec parce que je ne voulais pas mettre le vrai chemin de fichier ici. – Michael

+0

Non, vous aviez raison! Merci. J'ai fait un I enveloppé le IF dans un bloc contient et cela l'a réparé. – Michael

Questions connexes