使用以下脚本,我浏览页面上拥有的每个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,则仅在不等于三个值中的任何一个时才接受。应该管用。