2

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

<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标签的属性。

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

4

5 回答 5

7
$(function(){
   $("a").each(function(){
        $(this).attr("title", $(this).find("img").attr("alt"));
   });
});
于 2012-06-28T15:16:18.213 回答
2

你没有确切地提到<a>你想改变哪个 s,所以这会改变所有<a>s 的<img>内部......

$("a>img").each(function() {
  $(this).parent().attr("title", $(this).attr("alt"))
})
于 2012-06-28T15:17:05.980 回答
0

使用 jQuery:

var a = $('a[rel=lightbox])');
var img = a.find('img');
a.attr('title', img.attr('alt'));
于 2012-06-28T15:16:38.223 回答
0
$('a').each(function(){
    $(this).attr('title',$(this).find('img').attr('alt'));
});

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

如果 jsFiddle 加载,一个jsFiddle 示例

于 2012-06-28T15:17:23.307 回答
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
    }
});
于 2012-06-28T15:17:36.687 回答