-4

我有以下设置:

<div id="wrapper">
    <div class="column1"></div>
    <div class="column3"></div>
    <div class="column2"></div>
</div>
#wrapper {
    position:absolute;
}

每个“列”都有不同的宽度和float: left. 所以这 3 列加起来就是 900 像素宽;但是如果我放置一个新列,我希望包装器自动获取它。

所以我想使用 JavaScript 根据它包含的列来获取和设置包装器的宽度。

4

4 回答 4

1
$("#wrapper").width(function() {
    var width = 0;
    $(this).children('[class^="column"]').each(function() {
        width += $(this).width();
    });
    return width;
});​
于 2012-08-29T16:52:42.817 回答
1

不要使用浮点数,但是display:inline-block演示

于 2012-08-29T16:55:22.630 回答
0
var w = 0;
$('#wrapper > div').each(function(index) {
  w += $(this).outerWidth();
});
$('#wrapper').width(w);
于 2012-08-29T16:53:41.023 回答
0

这是一个小提琴:http: //jsfiddle.net/BramVanroy/sYMLr/

var totalWidth = 0;
$("div#wrapper > div").each(function(index) {
    totalWidth += parseInt($(this).outerWidth(true), 10);
});

$("div#wrapper").width(totalWidth);​
于 2012-08-29T17:00:40.613 回答