jQuery.attr (‘src’) remplace ne fonctionne pas dans FF

Problème étrange. Ce code fonctionne parfaitement dans Chrome / IE. Cependant, cela ne fonctionne pas dans FF 3.6 pour une raison quelconque. La console ne montre aucune erreur JS.

Il est supposé rechercher toutes les images avec un atsortingbut src spécifique et remplacer le src en vol stationnaire (je connais d’autres approches comme le survol CSS, etc. )

$("img[src*='libraries/phpthumb/phpThumbYT.php']").each(function(){ var t=$(this); var src1= t.attr('src'); // initial src var old_src = src1.subssortingng(src1.lastIndexOf('media/'), src1.lenght);; // extract old source attr var media_id = old_src.subssortingng(6,8); // extract media ID (directory name) if ( old_src.indexOf("animation=1") != -1 ) { t.hover(function(){ // on hover $(this).attr('src', 'libraries/phpthumb/phpThumbYT.php?w=131&h=92&far=C&iar=1&sfn=3&zc=C&f=gif&src=http://soffr.miximages.com/javascript/preview.gif'); }, function(){ // on rollout $(this).attr('src', src1); }); } }); 

Je soupçonne qu’il pourrait y avoir un problème avec le sélecteur peut-être? Des idées?

Enfin trouvé la solution.

Le problème était que src1.lenght une valeur 'undefined' . Bien que proposé par Alex comme source du problème, la documentation sur W3C indiquait que length était une propriété valide de ssortingng.

Cependant, le problème lui-même était apparemment dû à un traitement différent de la valeur 'undefined' dans src1.subssortingng(src1.lastIndexOf('media/'), src1.lenght); . Chrome et IE ont pris la valeur 'undefined' simplement comme non présente, la chaîne a donc été analysée jusqu’à la fin. Cependant, dans FF, la fonction de sous-chaîne n’a pas renvoyé complètement la chaîne entière.

Après avoir isolé ce problème, j’ai modifié le script en utilisant une sous-chaîne avec un seul argument, car je voulais en fait qu’il soit analysé jusqu’à la fin. Le deuxième paramètre n’était donc pas du tout nécessaire.

Sous est le code final qui fonctionne dans Chrome + IE + FF.

 $("img[src*='libraries/phpthumb/phpThumbYT.php']").each(function(){ var t=$(this); var src1= t.attr('src'); // initial src var old_src = src1.subssortingng(src1.lastIndexOf('media/')); // extract old source attr var media_id = old_src.subssortingng(6,8); // extract media ID (directory name) media_id = media_id.replace('/',''); // sortingm '/' from the end of media_id in case the ID is < 10 if ( old_src.indexOf("animation=1") != -1 ) { t.hover(function(){ // on hover $(this).attr('src', 'libraries/phpthumb/phpThumbYT.php?w=131&h=92&far=C&iar=1&sfn=3&zc=C&f=gif&src=http://soffr.miximages.com/javascript/preview.gif'); }, function(){ // on rollout $(this).attr('src', src1); }); } });