使用jQuery获取元素的精确定位宽度

时间:2012-09-07 07:45:17

标签: javascript jquery css html-table

我有两个表行(不在同一个表中)并且我一直在尝试设置row1中每个表格单元格的宽度(td)= row2中每个表格单元格的宽度,但每次row1都是比row2短一点,当我使用alert来检查所有表格单元格的各个值时,我得到了一个ok结果,然后我使用firebug检查了两个元素,结果证明,例如,将表格单元格值设置为53px ,计算值为53.2167px,而row1中其他相应表格单元的计算宽度仅为53px,我猜这就是所有的差异。有没有办法使用jQuery获得那个确切的值(53.2167px)?

screenshot:

1 个答案:

答案 0 :(得分:1)

在您的环境中执行此操作应该设置为标题tablecells与内容设置正确宽度的技巧。

实施例

HTML

<table id="theHeader">
    <thead>
        <tr>
            <th>Test</th>
            <th>Test</th>
            <th>Test</th>
            <th>Test</th>
        </tr>
    </thead>
</table>

<table id="theContent">
    <tbody>
        <tr>
            <td>Testing</td>
            <td>Testing</td>
            <td>Testing</td>
            <td>Testing</td>
        </tr>
    </tbody>
</table>

的jQuery

var headerColumns = $('#theHeader thead tr:first-child th');
var contentColumns = $('#theContent tbody tr:first-child td');

for(i=0; i<contentColumns.length; i++){
    $(headerColumns[i]).css('width',$(contentColumns[i]).width()+'px');
}​

的jsfiddle

http://jsfiddle.net/xWbhM/