首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在所有图像中动态检测和添加宽度、高度和alt属性

在所有图像中动态检测和添加宽度、高度和alt属性
EN

Stack Overflow用户
提问于 2014-08-09 09:29:15
回答 2查看 49关注 0票数 1

我试图获取并动态添加网页上没有这些属性的每个图像的宽度、高度和alt属性。但是它只检测第一个图像宽度、高度、alt属性,并将它们添加到所有图像中。

代码语言:javascript
复制
$(document).ready(function() {
    var width = $('img').width();
    var height = $('img').height();
    var image_width = $('img').attr('width');
    var image_height = $('img').attr('height');
    var image_alt = $('img').attr('alt');
    if (typeof image_width === 'undefined' || image_width === false && typeof image_height === 'undefined' || image_height === false) {
        $('img').attr('width', width).attr('height', height);
    }
    if (typeof image_alt === 'undefined' || image_alt === false) {
        $('img').attr('alt', 'image');
    }
});

http://jsfiddle.net/a9zsqxov/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-09 09:33:50

您需要遍历img标记并对每个标记执行逻辑。"$('img').width()“只返回它找到的第一个图像的值(正如您发现的)。

例如:

代码语言:javascript
复制
$('img').each(function() {
  var $img = $(this),
      width = $img.width(),

  // ..the rest of your logic here..
});
票数 1
EN

Stack Overflow用户

发布于 2014-08-09 09:37:34

您的逻辑是可以的,但是您必须遍历所有的img元素,而不仅仅是第一个元素。下面是一个简单的例子:

代码语言:javascript
复制
    $(document).ready(function() {
        $('img').each(function() {
            var width = $(this).width();
            var height = $(this).height();
            $(this).attr('width', width);
            $(this).attr('height', height);
        });
    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25217117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档