ONYX ONYX - 4 months ago 15x
jQuery Question

jQuery get max width of child div's

I need to get the max width(just the one width) of the child div in the wrapper div element

<div id="wrapper">
<div class="image"><img src="images/1.jpg"></div>
<div class="image"><img src="images/2.jpg"></div>
<div class="image"><img src="images/3.jpg"></div>
<div class="image"><img src="images/4.jpg"></div>
<div class="image"><img src="images/5.jpg"></div>
<div class="image"><img src="images/6.jpg"></div>

Math.max.apply(Math, $('.image').map(function(){ return $(this).width(); }).get());

Per suggestion, I'll break that down:

   return $(this).width();

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.