2011-12-02 48 views
0

我有一个表。第一列包含标签。其余列包含值。我不知道有多少列可以存在,但是我希望除第一列以外的所有列宽都相同。指定表列宽度w/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(); 

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

如何找到列数?

尝试,但只是通过检查多少表头(<th>元素)也有失败

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

回答

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> 
0

您应该能够获得列数。这将做到这一点:

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

JSFiddle example