【问题标题】:How to add an alt attribute of img tags with jquery如何使用jquery添加img标签的alt属性
【发布时间】:2012-05-02 13:27:39
【问题描述】:

我在一个页面中放了一个谷歌地图,它制作了很多没有 alt 属性的 img 标签,我如何在 jquery 的 div 中为每个 img 添加 alt,我要做什么而不是:

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

谢谢

【问题讨论】:

  • 您打算如何确定合适的替代文本? (<img src="foo" alt="image"> 几乎总是大错特错,比没有 alt 属性更糟糕)。
  • 我尝试了你所有的代码,但它们都不起作用,你确定我没有遗漏包含脚本吗?我有那个:
  • How to add an HTML attribute with jQuery 的可能重复项——请在提出新问题之前使用搜索。
  • 为什么首先需要一个 alt 标签?谷歌地图很难访问。对于您的 SEO 任务,这不是必需的,因为谷歌地图图像只会使用 javascript 加载

标签: javascript jquery html


【解决方案1】:

为所有图像设置替代文本:

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

为没有alt属性的图像设置替代文本:

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

【讨论】:

  • 奇怪,也许我错过了一个包含脚本,除了这些之外还有其他包含:
【解决方案2】:

试试:

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

【讨论】:

  • +1 用于不覆盖已经具有alt 属性的图像。
【解决方案3】:

这项工作:

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

【讨论】:

    【解决方案4】:

    你可以这样做:

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

    这将查找#map_canvas 中没有alt 标签的所有图像,然后将alt 标签设置为与图像src 相同。

    另外,我会推荐:

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

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

    【讨论】:

      【解决方案5】:
      $('#map_canvas > img').attr('alt', 'alt_text');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-09
        • 1970-01-01
        相关资源
        最近更新 更多