使用' alt'价值动态设置' title'

时间:2012-06-28 15:14:11

标签: jquery image attr

我需要一些帮助,在我们开始之前,我知道这可能不是最佳做法,但我正在对现有网站进行一些维护,需要完成以下操作才能修复。

<a rel="lightbox" href="site.com" title="a generated title">
    <img src="site.com/img" class="post-image" alt="a long description"/>
</a>

好的,我正在尝试弄清楚如何使用jQuery或任何其他方法从我的图片中获取alt属性,并动态覆盖我的title a属性标签。

任何帮助都会很棒,我在这个时刻有点失落。

5 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:2)

您没有准确提及您想要更改哪些<a>,因此这会更改所有<a>内部<img> ...

$("a>img").each(function() {
  $(this).parent().attr("title", $(this).attr("alt"))
})

答案 2 :(得分:0)

使用jQuery:

var a = $('a[rel=lightbox])');
var img = a.find('img');
a.attr('title', img.attr('alt'));

答案 3 :(得分:0)

$('a').each(function(){
    $(this).attr('title',$(this).find('img').attr('alt'));
});

由于jsFiddle.net在过去一天左右似乎不稳定,你可以在 jsbin 看到一个演示。

如果jsFiddle加载,则 jsFiddle example

答案 4 :(得分:0)

你可以这样做:

$(function() {
    var img = $(".post-image");
    if(img.length == 1) // meaning, at least one element was found
    {
        img.attr("title", img.attr("alt")); // pass the text in alt to title
        img.removeAttr("alt");              // remove alt
    }
});