2010-06-03 4 views
0

je le code suivant sur la ma page ...href avec précédez même classe

<a href="javascript:change_product_photo(2);"><img id="alternate_product_photo_2" style="border-color:#666666;" src="/v/vspfiles/photos/00-6189-2S.jpg" border="1"> 

Parfois, il pourrait y avoir plus de <a href="javascript:change_product_photo(4);"> et chacun aurait un nombre plus élevé indice 5, 6, 7, etc.

Ce que je veux faire est pour chaque instance de href avec javascript:change_product_photo(x) (où x est l'indice) supprimer à la fois « _ » du change_product_link mais laisser l'indice (x)

Ma pensée était de d'abord ajouter une classe à tous h refs qui contiennent javascript:change_product_photo, puis modifiez tous les href; s avec cette classe, mais je suis perdu sur la façon de le faire.

Voici ce que je suis arrivé à ce jour ...

$("a[href*='javascript:change_product_photo']").addClass('link_fix'); 

Maintenant, je ne sais pas comment supprimer le « _ » de l'URL.

+0

Bienvenue sur SO, s'il vous plaît visitez http://stackoverflow.com/faq – Reigel

Répondre

1

essayer ...

$("a[href^='javascript:change_product_photo']") 
    .addClass('link_fix') 
    .attr('href', function(i,v){ 
     return v.replace('_',''); 
    }) 

modifier en fonction de commentaire, notez le href*= a changé à href^= (start-with selector)

and read 'Easy Setter Functions' function(i,v){...} que de jQuery 1.4.x

+0

Wow c'était rapide et ça a bien fonctionné, merci beaucoup. Je me rends compte que ce n'est pas vraiment l'endroit pour entrer dans les détails mais je ne comprends pas la fonction (i, v), pouvez-vous l'expliquer? – user357034

+0

Désolé, j'ai parlé trop tôt. ça ne marche pas. Ci-dessous le code qui fonctionne mais pas propre Si j'avais plus de liens, je dois ajouter manuellement plus de code $ ("a [href * = 'javascript: change_product_photo (2)']") addClass ('link_fix2') $ ("a [href * = 'javascript: change_product_photo (3)']") addClass ('link_fix3'); $ ("a [href * = 'javascript: change_product_photo (4)']") addClass ('link_fix4'); $ ("a.link_fix2"). Attr ('href', 'javascript: change_product_photo_fix (2)'); $ ("a.link_fix3"). Attr ('href', 'javascript: change_product_photo_fix (3)'); $ ("a.link_fix4"). Attr ('href', 'javascript: change_product_photo_fix (4)'); – user357034

+0

s'il vous plaît voir mes modifications ... – Reigel

Questions connexes