2010-09-01 106 views
1

简单而烦人的问题,但我需要的答案很快,我找不到解决方案。jQuery每次迭代:每个图库元素应该有标题!

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

每个gallery-item都有一个gallery-caption在它下面。我遍历每个图库图标并找到链接的标题。我想在每个图库项目标题上加上标题。

现在,每个图像标题都会预设所有图像标题。我只想在当前图像的标题前添加。

+0

请使用'this.title'来获得标题,而不是使用$(this).attr('title')'创建一个新的jQuery对象。它也更具可读性。 – 2010-09-01 05:30:02

回答

1

你得到的前缀,因为这一切的字幕的所有标题:

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

这实际上是告诉jQuery的“前置以下类画廊字幕的所有元素”

编辑:假设链接是标题的兄弟,这样的事情应该工作:

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

现在你在前面加上匹配名为.gallery-captio所有元素n条件。你需要指定预先考虑哪些因素 - 一样,如果你需要预先父 - 使用.parent()

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

或其他穿越方法。