Jquery 从alt脚本创建图像标题
我正在尝试使用此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
$("#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样式添加到
标记中,或者在包装图像的每个链接周围添加一个包装器。这样,当您添加标题时,它也将定位在与图像相同的位置。通过查看示例页面,您应该将位置绝对样式添加到
标记中,或者在包装图像的每个链接周围添加一个包装器。这样,当您添加标题时,它也将定位在与图像相同的位置。