使用以下脚本,我浏览页面上拥有的每个img源,检索扩展名,如果没有返回的字符串,或者不知道图像类型,则添加.jpg

由于某种原因,无论扩展名如何,if语句每次都为true。

$(document).ready(function() {
 $(".main_img").each(function() {
        imgsrc = this.src;
        console.log(imgsrc);
        imgext = imgsrc.split('.').pop();
        $.trim(imgext);
        console.log(imgext);
          if(imgext != 'jpg' || imgext != 'jpeg' || imgext != 'gif'){
            console.log("Unacceptable,add extension");
            FinalURL = imgsrc + '.jpg';
        }
          else {
            console.log(imgext);
        }
    });
});

最佳答案

轻松修复代码中的错误。

只需将“或”条件更改为“与”条件即可。

更改此部分:

if(imgext != 'jpg' || imgext != 'jpeg' || imgext != 'gif')


对此:

if(imgext != 'jpg' && imgext != 'jpeg' && imgext != 'gif')


由于imgext总是同时不等于3个不同的值(在这种情况下使用OR条件时建议),因此它不起作用。因此,它将永远实现。如果使用AND,则仅在不等于三个值中的任何一个时才接受。应该管用。

08-29 00:23