Math.max.apply(Math, $('.image').map(function(){ return $(this).width(); }).get());
Per suggestion, I'll break that down:
$('.image').map(function(){
return $(this).width();
}).get();
The above gets a list of all .image
divs and converts it into a list of their widths. So you'll now have something like: [200, 300, 250, 100, 400]
. The .get()
, as Felix pointed out, is necessary to get an actual Array instead of a jQuery array.
Math.max
takes N arguments, so you have to call it as: Math.max(200, 300, 250, 100, 400)
, which is what the Math.max.apply
piece accomplishes.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…