我需要获得表格中第一列的宽度。我做了以下事情:
var table = $(".myTable");
var firstColumnWidth = table.find("th:first").innerWidth();
HTML:
<table class="">
<tr>
<th></th>
<th>col 2</th>
</tr>
</table>
我得到“0”,即使我在调试时添加边框,我看到它至少有300px宽。
table.find("th:first").css("border","1px solid red");
我错过了什么?
答案 0 :(得分:2)
这应该可以解决您的问题。我使用以下任一方法获得131px
:
$('.table th:first-child').width()
你的风格也是我同样的输出
$('.table').find('th:first-child').width()
这是我的标记
<table class="table">
<tr>
<th>sdfsdfdsfasdsdd</th>
<th>dsfdsfds</th>
<th>sdfds</th>
<th>hgthrhdgdfgdf</th>
<th>fdgdfgdf</th>
<th>fdgdfgdf</th>
</tr>
<tr>
<td>fdgfdgdfgdfg</td>
<td>fgh5hfhgdf</td>
<td>dfgfdgdf</td>
<td>dfgdfgdf</td>
<td>dfgdfgdf</td>
<td>dfgdf</td>
</tr>
<tr>
<td>fdghtfg</td>
<td>dfgfdgdfg</td>
<td>fgdf</td>
<td>dgfg</td>
<td>fg</td>
<td>ddddddddddd</td>
</tr>
</table>
答案 1 :(得分:1)
试试$('.myTable').find('tr:first').width()
。这是因为即使您使用<td>
,浏览器也会在<tr>
内呈现<th>
。
答案 2 :(得分:0)
查看 LIVE DEMO
var table = $(".myTable");
var firstColumnWidth = table.find("th:first").innerWidth();
alert(firstColumnWidth);
alert(table.find("th:first").width());
对于 .innerWidth()
和 .width()
,结果为 128