2010-08-16 20 views
0

J'ai une liste non ordonnée affichée - chaque balise li contient une image avec une balise span vide sous celle-ci. Je souhaite que l'attribut title de l'image s'affiche dans la balise span. J'utilise ceci ci-dessous et cela fonctionne, mais il montre les titres de TOUTES les images dans la première balise span ... Je dois en quelque sorte m'assurer que le titre de l'image va dans sa propre balise span. Je suppose que je besoin d'un moyen d'avoir un identifiant unique pour chaque li ou chaque img li ...jQuery Afficher le titre de l'image dans la balise span

$(document).ready(function() { 
    $('#pressThumbs li img').fadeIn(function() { 
     var $this = $(this); 
     $("#description").append($(this).attr('title')); 
    }); 
}); 

Merci

Rob

Répondre

3

ID doit être unique. En tant que tel, vous pouvez seulement avoir undescription id sur la page.

Modifier l'ID description à une classe au lieu, et faire ceci:

Essayes:http://jsfiddle.net/gsFnW/

$(document).ready(function() { 
    $('#pressThumbs li img').fadeIn(function() { 
     var $this = $(this); 
     $this.next('.description').append($this.attr('title')); 
    }); 
}); 

S'il vous plaît noter que cela suppose la <img> et le <span> sont l'un à côté de l'autre. Je ne peux pas dire avec certitude sans voir votre balisage. S'il y a un autre élément entre les deux, faites-le à la place.

$(document).ready(function() { 
    $('#pressThumbs li img').fadeIn(function() { 
     var $this = $(this); 
     $this.siblings('.description').append($this.attr('title')); 
    }); 
}); 
+0

Merci pour la réponse rapide! Cela marche! Rob – Rob

+0

@Rob - De rien. : o) – user113716

+0

j'ai fait la modification pour montrer le titre seulement sur le vol stationnaire [http://jsfiddle.net/gsFnW/48/](http://jsfiddle.net/gsFnW/48/) –

1

En supposant que ce balisage

<ul> 
    <li><img src="bla" title="sometitle" /><span class="description" /></li> 
    <li><img src="bla" title="sometitle" /><span class="description" /></li> 
</ul> 

Cela devrait fonctionner.

$(document).ready(function() 
{ 
    $('#pressThumbs li img').fadeIn(function() 
    { 
      var $this = $(this); 
      $this.siblings(".description").html($this.attr('title')); 
    }); 
}); 

vous êtes problème est que vous utilisez un attribut id #decription qui ne peut apparaître que sur un seul élément de dom. Au lieu de cela, utilisez une classe qui peut apparaître et beaucoup.

Espérons que cela aide.