jQuery:向元素添加title属性并从以下元素插入文本

时间:2012-09-24 06:41:56

标签: jquery image attributes title

我甚至不确定这是否可行,但让我们一起去吧。

我为每张图片动态生成了这个HTML:

<a href="image.jpg" class="thickbox">
    <img src="thumb.jpg" title="This is the title" alt="" />
</a>

不知怎的,我需要从thumb.jpg中获取title属性并将其复制到周围的锚点,这会产生这样的结果:

<a href="image.jpg" class="thickbox" title="This is the title" alt="">
    <img src="thumb.jpg" title="This is the title" alt="" />
</a>

如果可以通过jQuery实现这一点,我会很高兴。

提前致谢。

3 个答案:

答案 0 :(得分:4)

$('a.thickbox img').each(function(key,$elem){
    $(this).parent().attr('title',$(this).attr('title'));
});

如果您有多个图像,则使用每个循环。否则使用函数中的行并将$(this)替换为$('a.thickbox img')

答案 1 :(得分:3)

您可以将函数传递给attr()(或prop()),并写下如下内容:

$("a.thickbox").attr("title", function() {
    return $(this).find("img").attr("title");
});

(我在上面的代码中使用attr()来强调我们正在创建HTML属性的事实。prop(),它会创建或更新DOM属性,会产生相同的结果。)

答案 2 :(得分:0)

使用.each()循环缩略图,对于父<a>的用户,将父标题设置为img的标题。

$("img[src='thumb.jpg']").each( function() {
    $(this).parent('a.thickbox').attr('title', this.title);
});