从alt脚本创建图像标题

时间:2009-12-08 03:35:18

标签: jquery image tags caption

我正在尝试使用此jQuery脚本从alt标记创建图像标题:

$("#content img").each(function () {
    var $this = $(this);
    var title = $this.attr("alt");
$this.after('<div class="caption">'+ title +'</div>');
});

我之前使用的是另一个jQuery脚本,它运行正常。我似乎无法获得alt脚本的标题。

示例:www.cslack.com/test.html

谢谢,

罗伯特

3 个答案:

答案 0 :(得分:3)

您的问题是您在图像存在之前执行代码。

您需要将代码包装在$(function() { code })中,以便在文档加载后运行。

或者,您可以将<script>块移到<body>标记后img标记的末尾。

此外,您的HTML没有#content元素;您需要将选择器更改为img或将所有<img>标记放在<div id='content'>内。

答案 1 :(得分:1)

在您的示例页面上,没有#content之类的内容,这就是它无效的原因。

如果您在内容周围放置了<div id="content">,那么它应该有效。

答案 2 :(得分:1)

 $(function(){

   $('a > img[style]').each(function(){
       $el = $(this);
       var style = $el.attr('style');
       $el.attr('style','');
       $el.parent().attr('style',style);
    }); //Moves the inline styles

      $("img").each(function(){
          var title = this.alt;
          $(this).after('<div class="caption">'+ title +'</div>');
      }); //Adds the dynamic captions.
 });