0

我正在尝试使用此 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

谢谢,

罗伯特

4

3 回答 3

3

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

您需要将代码包装起来$(function() { code })以使其在文档加载后运行。

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

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

于 2009-12-08T03:40:14.723 回答
1

在您的示例页面上,没有什么#content是它不起作用的原因。

如果你<div id="content">在你的内容周围放置一个,那么它应该可以工作。

于 2009-12-08T03:39:47.340 回答
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.
 }); 
于 2009-12-08T03:40:00.787 回答