2009-10-07 7 views
0

J'ai un petit problème ici. Comme je suis nouveau à jQuery cela va probablement sembler simple pour vous.Modifier les balises alt et le chemin de l'image avec jQuery

je dois ajouter le chemin vers alt et changer l'alt il aura une extension .jpg et écran dans jquery

Alors, comment puis-je transférer ce

<img src="small.jpg" class="image" alt="big01"> 

dans ce:

<img src="/image/small.jpg" class="image" alt="/image/big01.jpg"> 

J'ai oublié d'ajouter: J'ai besoin de pêcher le nom de l'image et ensuite ajouter le chemin à cette image car cela va changer car il y en a beaucoup sur le site. Je ne sais pas si je me suis rendu clair. Des idées s'il vous plaît?

Merci beaucoup pour votre aide à l'avance

+0

-1 Je pense que c'est impraticable –

+0

Bonne question J'en avais besoin pour le chargement de la page. merci .. http://stackoverflow.com/questions/12085559/image-not-loaded-in-jquery-load-of-a-html-page –

Répondre

6

Ma première question serait, pourquoi ne sont pas ces chemins dans la balise img déjà?

Si vous avez besoin de toutes les balises img à mettre à jour pour inclure cette information. Tout d'abord, vous devez parcourir tous les éléments img. C'est simplement: $("img").each(functions here)

De là, vous pouvez faire comme d'autres l'ont fait remarquer et obtenir les attributs en utilisant la méthode attr, puis les modifier.

$("img").each(function(){ 
    $(this).attr({ 
    src: '/image/' + $(this).attr('src'), 
    alt: '/image/' + $(this).attr('alt') + '.jpg' 
    }); 
}); 
+1

manque-t-il des parenthèses autour de 'ceci'? –

+0

Édité, merci, Tom. –

+0

Je cherchais ce code .. merci .. –

0

Vous devez la méthode attr:

$('img.image').attr('alt', '/image/big01.jpg').attr('src','/image/small.jpg'); 

Edit: see the docs pour plus d'informations

0
$("img").attr("src", "/image/small.jpg").attr("alt", "/image/big01.jpg"); 

ci-dessus fonctionne sur toutes les images, mais pour avoir un accès direct à votre image spécifique, donnez-lui un id et adressez-le comme ceci:

<img id="myimg" src="... 

$("#myimg").attr("src", "/image/small.jpg").attr("alt", "/image/big01.jpg"); 
+0

Ceci est grat gars, mais j'ai oublié d'ajouter que je dois pêcher sur le nom de l'image car cela va changer car il y en a beaucoup sur le site. Des idées s'il vous plaît? – Dom

+0

utilisez la chose que j'ai décrite dans cette réponse: ajouter un identifiant unique à chaque tag d'image. –

0
$("img[src='small.jpg']").attr("src", "image/small.jpg") 
2

La méthode attr est la voie à suivre:

$(".image").attr({ 
    src : "New image source", 
    alt : "Alternative image text" 
}); 
+0

+1 pour gérer les deux attributs en une seule fois! Tout récemment, j'ai découvert ça moi-même. Des trucs sympa (: – peirix

+0

Bonnes choses, n'est-ce pas, je ne l'ai découvert que récemment. – Kieron

0

Je sais que vous ne voulez pas entendre cela, mais vous n'utilisez pas la balise alt correctement. Alt est là pour expliquer aux internautes moins accessibles (ie Quelqu'un avec un lecteur d'écran) ce que votre image montre réellement.

Si vous l'utilisez pour stocker une image à laquelle vous passez, puis-je vous suggérer de créer votre propre attribut personnalisé. Quelque chose comme altImage fonctionnerait parfaitement.

Questions connexes