Javascript 高度与宽度相等,单个图像

Javascript 高度与宽度相等,单个图像,javascript,jquery,css,Javascript,Jquery,Css,如果图像的宽度和高度相等,如何添加“equal”类 这是我的密码: var img = $('img', this); var width = img.width(); var height = img.height(); if(width == height){ $(this).img.addClass('equal'); } 此位: if(width == height){ $(this).img.addClass('equal'); } 应该是: if(width == he

如果图像的宽度和高度相等,如何添加“equal”类

这是我的密码:

var img = $('img', this);
var width = img.width();
var height = img.height();

if(width == height){
$(this).img.addClass('equal');
}
此位:

if(width == height){
    $(this).img.addClass('equal');
}
应该是:

if(width == height){
    img.addClass('equal');
}
因为您已经将
img
作为jQuery对象(通过执行
var img=$('img',this);

  • 获取所有图像
  • 迭代并添加该类

    //get all images
    let $images = $('img');
    
    // add classes
    $.each($images, function(key, img) { 
    
        if ( img.height === img.width )  {
           $(img).addClass('equal'); 
        }
    
    });
    

  • 示例:

    现在确保可以执行
    $(this.img.addClass('equal')
    如果您想在图像上使用类,请使用
    img.addClass('equal')。另外,在代码中,$(this)应该指什么?尝试这样做:
    img.addClass('equal')
    $(此)
    在代码中没有意义,除非您正在迭代一组图像。此外,您可能希望先等待图像完成加载:如果尚未加载图像,则图像的宽度和高度不可用。这是图像的集合!:)但这不会给所有图片添加类吗?忘记标记你了@stavm@Angelica增加了一个例子。