1

はじめに

やあ、

このような<ul>リストで作成されたテーブルがあります。

ご覧のとおり、すべてgetMaxLiWidth()の最大<li>幅を達成するために追加しました。

#| | Name| |Extra

1| | This is a very big name| |Extra

私が欲しいもの

#| | Name                                      | |Extra

1| | This is a very big name| |Extra

私が得るもの

#                                      | | Name                                      | |Extra

質問

getMaxLiWIdth()各「列」の最大幅を取得するには、どのように変更する必要がありますか?

4

2 に答える 2

3

最も広い列のすべてのリスト項目に css を設定する必要があります。まず、最も幅の広い列を特定し、それを最大幅で返し、それをセレクターの一部として使用する必要があります。

function getMaxLiWidth() {
    var maxWidth = 0;
    var column = 0;
    $('li').each(function() {
        if (this.offsetWidth > maxWidth) {
            maxWidth = this.offsetWidth;
            column = $(this).index();
            console.log(column);
        }
    });
    return [maxWidth,column];
}

$(function() {

    var arr = getMaxLiWidth();
    $('li:nth-child(' + (arr[1] + 1) + ')').each(function() {
        $(this).css({
            'width': arr[0]
        });
    });
});

ここにデモンストレーションがあります:http://jsfiddle.net/Dcd7R/2/

于 2012-11-30T12:09:49.300 に答える
-1

ここでは、列ごとに異なる形式を設定する必要があります。単純にCSSを試す

于 2012-11-30T12:06:37.063 に答える