使用/ jQuery分配表列宽

时间:2011-12-02 16:39:37

标签: jquery

我有一张桌子。第一列包含标签。其余列包含值。我不知道有多少列可以,但我想使除第一列以外的所有列都具有相同的宽度。

<table>
<tr>
    <th></th>
    <th></th>
    <th></th>
</tr>
<tr>
    <td>label</td>
    <td>data</td>
    <td>data</td>
</tr>
</table>

所以,我知道表格宽度

var tW = $("#myTbl").width();

我可以得到第一列的宽度:

var fcW = $("#myTbl th:first").width();

现在我需要找到表格中有多少列,从表格宽度中减去第一列的宽度,并将其余部分除以(cols数量-1)。

如何找到列数?

尝试但失败了

var nimCol = $("#myTbl th:first").parent().find("th").length - 1;

2 个答案:

答案 0 :(得分:1)

下面是一个完整的工作示例,“我想,”你正在寻找......

http://jsfiddle.net/UXwWe/

<table style="width:200px">
<tr>
    <th style="width:40px"></th>
    <th></th>
    <th></th>
</tr>
<tr>
    <td>label</td>
    <td>data</td>
    <td>data</td>
</tr>
</table>

<script type="text/javascript">
    $(function() {
        var table = $('table'),
            tWidth = table.width(),
            firstColumnWidth = table.find('th:first').width(),
            cols = table.find('th').not(':eq(0)'),
            colWidth = (tWidth - firstColumnWidth) / cols.size();

        cols.width(colWidth);
    });
</script>

答案 1 :(得分:0)

您应该只需检查有多少表标题(<th>元素)就能获得列数。这样就可以了:

var colCount = $('#myTbl th').length;

JSFiddle example