2010-09-01 4 views
1

question simple et ennuyeuse pour vous, mais j'ai besoin de la réponse plutôt rapide et je ne pouvais pas trouver une solution.jQuery chaque itération: chaque élément de la galerie doit avoir un titre!

$('.gallery-item .gallery-icon a').each(function(){ 
     $('.gallery-caption').prepend("<span class='imgtitle'>"+$(this).attr("title")+"</span>") 
    }); 

chaque article de galerie possède une légende de galerie en dessous. Je parcours chaque icône de la galerie et trouve le titre du lien. Je veux ajouter le titre à chaque légende de chaque élément de la galerie.

À l'heure actuelle, chaque légende d'image affiche TOUS les titres d'image. Je veux juste ajouter le titre de l'image actuelle.

?

+0

Veuillez utiliser 'this.title' pour obtenir le titre, au lieu de créer un nouvel objet jQuery avec' $ (this) .attr ('title') '. C'est aussi plus lisible. –

Répondre

1

Vous obtenez tous les titres sur tous les ajout initial des sous-titres en raison de cela:

$('.gallery-caption').prepend(... 

Cela fait dire jQuery « précédez ce qui suit à tous les éléments de la classe galerie-légende »

EDIT : Si l'on suppose que le lien est un frère de la légende, quelque chose comme cela devrait fonctionner:

$(this).parent().children('.gallery-caption').prepend(... 
0

maintenant, vous êtes préfixer tous les éléments qui correspondent à .gallery-captio n condition. Vous devez spécifier quel élément à préfixer - comme si vous devez préfixer parent - .parent utilisation()

$('.gallery-item .gallery-icon a').each(function(){ 
     $(this).parent().prepend("<span class='imgtitle'>"+$(this).attr("title")+"</span>") 
    }); 

ou d'autres méthodes Cheminement.

Questions connexes