首页 > 解决方案 > 如果所有图像都具有相同的宽度,则执行某些操作

问题描述

.cimg如果都具有相同的宽度,我想做一些事情。

<img class='cimg' src='...' alt='img'>
<img class='cimg' src='...' alt='img'>
<img class='cimg' src='...' alt='img'>

js

let w = $.map($('.cimg'), (e) => $(e)[0].naturalWidth);  

结果 -[960, 960, 960]

if(all elements of w are equal){do_something();}  // how to do this?

标签: javascriptjquery

解决方案


您可以使用[...new Set()]从数组中获取所有唯一项,然后只需检查length结果数组的。如果长度是,1那么所有宽度都相同,否则不是:

let w = $.map($('.cimg'), (e) => $(e)[0].naturalWidth); 
w = [...new Set(w)]
if(w.length == 1){console.log('same');}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img class='cimg' src='...' alt='img'>
<img class='cimg' src='...' alt='img'>
<img class='cimg' src='...' alt='img'>


推荐阅读