我正在尝试使用此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
谢谢,
罗伯特
答案 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.
});