2012-05-02 171 views
7

我已经将谷歌地图放在页面中,并且它会生成大量不含alt属性的img标签,如何在jquery中的div中为每个img添加alt ,什么是我必须做的,而不是:如何使用jquery添加img标签的alt属性

$('#map_canvas > img[alt]').attr('image'); 

感谢

+4

你打算如何确定ALT文本是合适的? ('image'几乎总是可怕的错误,比没有alt属性更糟糕)。 – Quentin

+0

我尝试了所有的代码,他们不工作,你确定我不错过包括脚本?我有: – user1301411

+0

回答

13

要设置替代文本到所有图像:

$('#map_canvas > img').attr('alt', 'Alternative text'); 

替代文本设置为不具有alt属性图片:

$('#map_canvas > img:not([alt])').attr('alt', 'Alternative text'); 
+0

很奇怪,也许我错过了一个包含脚本,除了这些内容是否还有其他内容: user1301411

11

尝试:

$("#map_canvas > img:not([alt])").attr("alt", "<YOURALTTEXT>"); 
+1

+1不覆盖已具有“alt”属性的图像。 –

4

这项工作:

$('#map_canvas').find('img:not([alt])').attr('alt', 'Alt text'); 
3

你可以这样做:

$('#map_canvas > img[alt=""]').each(function() 
{ 
    $(this).attr('alt', $(this).attr('src'); 
}); 

这会发现,没有一个内#map_canvas所有图片10标记,然后将alt标记设置为与图像src相同。

另外,我建议:

$('#map_canvas > img[alt=""]').attr('alt', 'Alt text'); 

因为这只会alt标签添加到没有一个图像。

2
$('#map_canvas > img').attr('alt', 'alt_text'); 
相关问题