Jquery 从alt脚本创建图像标题

Jquery 从alt脚本创建图像标题,jquery,image,tags,caption,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>'); }); $(“#内容img”)。每个(函数(){ var$this=$(this); var title=$t

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

$("#content img").each(function () {
    var $this = $(this);
    var title = $this.attr("alt");
$this.after('<div class="caption">'+ title +'</div>');
});
$(“#内容img”)。每个(函数(){
var$this=$(this);
var title=$this.attr(“alt”);
$this.after(''+标题+'');
});
我在使用另一个jQuery脚本之前,它工作得很好。我似乎无法使alt脚本的标题正常工作

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

谢谢


Robert

在您的示例页面上,没有
#content
这样的东西,这就是它不起作用的原因


如果你在你的内容周围放置一个
,那么它应该会起作用。

在你的示例页面上,没有
#content
这样的东西,这就是它不起作用的原因

 $(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.
 }); 
如果在内容周围放置一个
,那么它应该可以工作。

$(函数(){
 $(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.
 }); 
$('a>img[style]')。每个(函数(){ $el=$(此项); var style=$el.attr('style'); $el.attr('风格',''); $el.parent().attr('style',style); });//移动内联样式 $(“img”)。每个(函数(){ var title=this.alt; $(此)。在(“”+标题+“”)之后; });//添加动态标题。 });
$(函数(){
$('a>img[style]')。每个(函数(){
$el=$(此项);
var style=$el.attr('style');
$el.attr('风格','');
$el.parent().attr('style',style);
});//移动内联样式
$(“img”)。每个(函数(){
var title=this.alt;
$(此)。在(“”+标题+“”)之后;
});//添加动态标题。
}); 

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

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

或者,您可以将
块移动到
标记后面的
标记的末尾


此外,您的HTML没有
#content
元素;您需要将选择器更改为
img
,或者将所有
标记放在
中。您的问题是,您在图像存在之前执行代码

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

或者,您可以将
块移动到
标记后面的
标记的末尾


此外,您的HTML没有
#content
元素;您需要将选择器更改为
img
,或将所有
标记放入

中。否,不要使用
附加
而不是
之后的
。调用
append
会将
div
放在
标记中,这不是他想要的。谢谢你们的帮助。我还是不能让它工作。我对这个很陌生。你介意再看一眼吗?它看起来很好。做广告宣传的事!好的——您的javascript很好(不过最好只在页面中包含一次jQuery)。但是,您的问题在于每个图像的css样式。我会将style=“position…”移动到元素而不是No,不要使用
append
而不是
after
。调用
append
会将
div
放在
标记中,这不是他想要的。谢谢你们的帮助。我还是不能让它工作。我对这个很陌生。你介意再看一眼吗?它看起来很好。做广告宣传的事!好的——您的javascript很好(不过最好只在页面中包含一次jQuery)。但是,您的问题在于每个图像的css样式。我将style=“position…”移动到元素中,而不是+1用于快速查找,或者(在本例中可能是更好的解决方案),您可以删除#内容,只留下$(“img”),它将选择页面上的每个img。+1用于快速查找,或者(在本例中可能是更好的解决方案)您可以删除#内容,只留下$(“img”),它将选择页面上的每个img。通过查看示例页面,您应该将position absolute样式添加到
标记中,或者在包装图像的每个链接周围添加一个包装器。这样,当您添加标题时,它也将定位在与图像相同的位置。通过查看示例页面,您应该将位置绝对样式添加到
标记中,或者在包装图像的每个链接周围添加一个包装器。这样,当您添加标题时,它也将定位在与图像相同的位置。