2010-12-15 44 views
1

Je souhaite changer le src d'un ensemble d'images d'une classe en attribut title de chaque image. Y a-t-il un moyen plus facile de faire cela?Jquery Image Swap onLoad

<img src="" title="images/1.png" class="images" /> 
    <img src="" title="images/2.png" class="images" /> 
    <img src="" title="images/3.png" class="images" /> 
    <img src="" title="images/4.png" class="images" /> 
    <img src="" title="images/5.png" class="images" /> 
<script> 
    $(function(){ 
    var newImage = $(this).attr('title') 
    $('.images').attr(src, ''+ newImage +''); 
    }); 
</script> 

Mais cela ne fonctionne pas correctement.

Répondre

2

Ce n'est pas le cas, car vous obtenez le titre de la première image. Essayez quelque chose comme ceci:

$(function() { 
    $('img.images').each(function() { 
    var $this = $(this); 
    $this.attr('src', $this.attr('title')); 
    } 
}); 
1

Voici un exemple de travail simple: http://jsfiddle.net/SwcYK/

$(function() 
{ 
    var $images = $("img.images"); 

    for (var i = 0; i < $images.length; i++) 
    { 
     $images[i].src = $images[i].title; 
    } 
}); 
+0

Excellent, beaucoup de gens (y compris moi) ont besoin d'apprendre de vous comment écrire un code lisible. –

+0

J'ai essayé d'écrire cela auparavant, mais j'utilisais le [i] dans la variable $ images lol. Cela m'a beaucoup aidé merci! –

+0

@Eric J'essaie juste d'écrire de telle sorte qu'il m'est facile de me souvenir de ce que j'essayais de faire à première vue. Parfois, si nous finissons par écrire un code complexe et compliqué, il est difficile de revenir et de se souvenir de ce que vous faisiez au premier coup d'œil. @Adam Content de vous aider! – spinon