Javascript, nom de l'extention

Résolu/Fermé
kirkas Messages postés 126 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 22 février 2011 - 16 févr. 2010 à 14:58
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 - 16 févr. 2010 à 17:03
Bonjour,

j'ai un problème pour récupérer le nom séparément de l'extention d'un fichier en javascript.

Voici mon code :

var source = $(".hover").attr("src");
var srcname = source.substring(source.lastIndexOf("\\")+1).split(".");

if (srcname.length>0)
var srcextension = srcname[srcname.length-1];
else
alert('Fichier sans extension');

$(".hover").after("<div class=imghover></div>");
$(".hover").after("<img class=hovered src="+srcname+"_2."+srcextension+" />");
$(".hover,.hovered").appendTo(".imghover");


et pourtant une fois l'html développé il m'écrit ceci :

<div class="imghover">
<img alt="image1" src="images/asdfqwer.jpg" class="hover">
<img src="images/asdfqwer,jpg_2.jpg" class="hovered">
</div>


je ne comprend pas ce que viens faire ce ",jpg" ici, pourtant le code est semblable à celui que j'ai pu trouver à la page suivante:

"http://www.brico-info.com/20080306159-recuperation-de-lextension-dun-fichier-aspnet-asp-vbscript-php-et-javascript/"

j'ai juste changé le nom des variables

quelqu'un a-t-il une idée?

3 réponses

artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
16 févr. 2010 à 16:50
je crois que j'ai compris :
srcname est transformé en tableau avec deux entrées : ce qu'il y a avant l'extension et ce qu'il y a après.
tente plutôt ça :
$(".hover").after("<img class=hovered src="+srcname[0]+"_2."+srcextension+" />");

par contre peux-tu éclairer ma lenterne et me dire ce que signifie $("h.over")... je ne connaissais pas cette syntaxe en js...
0
kirkas Messages postés 126 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 22 février 2011 2
16 févr. 2010 à 17:00
ca marche! merci beaucoup :)

et le $(".hover"), c'est simplement la sélection d'une classe existante dans l'html.
0
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
16 févr. 2010 à 17:03
je ne savais pas que le $() était une sélection de classe, je dormirais moins bête.
n'hésite pas à mettre en résolu.
un autre conseil, pour te souvenir de ça, n'hésite pas à commenter ton code en mettant
/*srcname est alors un tableau , srcname[0] c'est ce qui est avant l'extension, srcname[1] c'est l'estansion sans le point*/ au moins tu comprendras ce que tu as écris.
0