jQuery获得子div的最大宽度 [英] jQuery get max width of child div's

查看:445
本文介绍了jQuery获得子div的最大宽度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在包装器div元素中获取子div的最大宽度(仅一个宽度)

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>


推荐答案

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();

以上获取所有 .image divs并将其转换为宽度列表。所以你现在有类似的东西: [200,300,250,100,400] 。正如Felix指出的那样, .get()是获取实际数组而不是jQuery数组所必需的。

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 接受N个参数,因此您必须将其称为: Math.max(200,300,250,100,400) ,这是 Math.max.apply 作品完成的内容。

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.

这篇关于jQuery获得子div的最大宽度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆