Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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> 
</div>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
287 views
Welcome To Ask or Share your Answers For Others

1 Answer

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...