我做了一个快速的Jsbin:http://jsbin.com/ujabew/edit#javascript,html,live
我想要实现的是找出链接中3中最大的<section>
。所以我想要的是,在循环运行之后,将var width
设置为任何宽度可能的最大可能数。
在链接
中发布的代码正在进行中答案 0 :(得分:32)
下面:
var maxWidth = Math.max.apply( null, $( elems ).map( function () {
return $( this ).outerWidth( true );
}).get() );
答案 1 :(得分:2)
使用Math.max()
充实Marc B的评论:
$(document).ready(function(){
var maxWidth = 0;
$('.content ul li').each(function(){
var itemWidth = $(this).outerWidth(true);
maxWidth = Math.max(maxWidth, itemWidth)
});
});
答案 2 :(得分:0)
我相信您想要查看underscore库。具体来说,最大方法
答案 3 :(得分:0)
$(document).ready(function(){
var maxWidth = 0;
$('section').each(function(){
w = $(this).outerWidth(true);
if ( w > maxWidth)
maxWidth = w;
});
});
答案 4 :(得分:0)
将.each()
循环更改为:
var thisWidth = $(this).outerWidth(true);
if (thisWidth > width) {
width = thisWidth;
}
答案 5 :(得分:0)
这是我的想法
(文档)$。就绪(函数(){
var elements = $('.content ul li'); var count = elements.length -1; var width = []; elements.each(function(n){ width.push($(this).outerWidth(true)); if (count == n) { width = Math.max.apply(Math, width); } });
});
我添加了元素数量的计数,然后运行Math.max以获得每个循环完成时的最大数字。
答案 6 :(得分:0)
我刚刚写了一个关于此的函数。我认为这可能对别人有所帮助。 (的的jQuery 强>)
$.fn.largerWidth = function () { //function(p)
// where 'p' can be clientWidth or offsetWidth
// or anything else related to width or height
var s = this,m;
for (var i = 0; i < s.length; i++) {
var w = s[i].offsetWidth; // s[i][p];
(!m || w > m) ? (m = w) : null
}
return m;
}