1

这有点难以解释,但我会尝试。

有没有一种简单的方法可以将具有相同类的所有 div 的宽度设置为内容最多的一个的宽度。

例如,如果我有三个具有相同类的 div,我希望它们都具有宽度最大的一个的宽度:

+------------+
|asddasadsdsa|
+------------+
|asdadsdsas  |
+------------+
|            |
+------------+

或像这样:

+---------+
|asd      |
+---------+
|         |
+---------+
|adsaaaaaa|
+---------+

有点像一张桌子,但在我的情况下,div 分布在不同的列表中。

4

6 回答 6

6

有一种方法可以......

var wid = 0;
$('.yourclass').each(function() {
    wid = Math.max($(this).width(),wid);
}).width(wid);
于 2013-06-25T13:34:03.247 回答
2

只需遍历所有 div,收集最宽的宽度,然后将其设置为您的类:

var maxWidth = 0;
$('.yourclass').each(function() {
    maxWidth = Math.max(maxWidth, $(this).width());
}).width(maxWidth);
于 2013-06-25T13:29:47.643 回答
1

另一种变体:

var widths = [];
$('div')
    .each(function() { widths.push($(this).width()); })
    .width(Math.max.apply(null, widths));
于 2013-06-25T13:38:27.827 回答
0

你可以这样做 -

var biggiWidth = 0;

$('.class').each(function(){
  biggiWidth = $(this).width() > biggiWidth ? $(this).width() : biggiWidth;
});

$('.class').width(biggiWidth);
于 2013-06-25T13:32:21.160 回答
0

一旦我尝试使用 css。

$('.class').css({"width": "auto", "white-space": "nowrap"});
于 2013-06-25T13:35:54.557 回答
0

只是为了与众不同...

var maxWidth = Math.max.apply(null, $("div").map(function(){
    return $(this).width();
}));

http://jsfiddle.net/rEBrF/1/

于 2013-06-25T13:42:10.793 回答