2010-05-13 4 views
1

J'essaie de changer une image dans JavaScript + Prototype en changeant l'attribut "src" de l'élément. Cela fonctionne très bien dans IE, mais pas dans Firefox. Je ne reçois pas d'erreur et le script continue à exécuter après ce bit exécute:Firefox ne changera pas la source de l'image

var image = $('toggle'); 
image.setAttribute("src", "../images/icons/icon_minus.gif"); 
image.setAttribute("alt", "Minus Symbol"); 
image.setAttribute("title", "Collapse tree"); 

Qu'est-ce que je fais mal? Comment faire pour que le navigateur remplace l'image existante "icon_plus.gif" par "icon_minus.gif"? Je suis sûr que ça doit être quelque chose de vraiment évident mais je n'arrive pas à comprendre quoi!

Merci

Répondre

1

ne peux pas comprendre ce qui est mal, mais je crois que son possible de faire une:

image.src = "../images/icons/icon_minus.gif"; 

BTW, est le chemin d'image tout à fait correcte?

+0

Eh bien, je ne sais pas pourquoi cela a fonctionné, mais il l'a fait! Merci! – user340250

+0

J'ai créé un script prototype de test en utilisant le code que vous avez posté; cela a fonctionné parfaitement dans FireFox. Il est possible que FireFox n'ait pas pu récupérer l'image lorsque vous avez testé ... un problème de réseau ou quelque chose de similaire. –

0

Cette fonction fonctionne très bien dans tous les navigateurs (Chrome, Firefox, Internet Explorer, Edge, ...):

function recaptcha() { 
    $("#captcha-img").attr('src', ""); 
    setTimeout(function(){ 
     $("#captcha-img").attr('src', "captcha?"+new Date().getTime()); 
    }, 0); 
} 

Le point important génère une nouvelle URL qui oblige les FF et IE de réengendrer l'image .

Questions connexes