这个标题可能有点误导,因为它并不像听起来那么简单。我有一个页面,其中有两个表(每行有50行)并排显示,以便行彼此对齐。我面临的问题是每个表中行的默认高度是相同的,但第二个表中的occaisionally动态内容导致特定行高于其他行。
“不是问题!”,我对自己说。 “当页面加载时我会在第二个表格中获得行的高度,然后在第一个表格中设置相同行的高度以匹配它!”这就是我的问题所在。我似乎无法获得每个表中的行数以便与progaically匹配。没有它,我不知道如何更改第一个表中正确行的高度。我认为可能是由于第二个表格中的单元格内容。许多单元格实际上包含自己的表(和表行),因此我的jQuery选择器获取所有行,而不仅仅是父行。
以下是我被迫使用的标记的快速示例:
<div id="mainTable">
<div id="randomServerGeneratedNumbers" rel="MainTable">
<htmldb:randomNumbers>
<table id="moreRandomNumbers">
<tbody>
<tr></tr> <!--THESE ARE THE ROWS I WANT!!!!-->
<tr>
<td>
<table>
<tr></tr> <!--IGNORE THESE!!!-->
</table>
</td>
</tr>
<tr></tr>
</tbody>
<tfoot></tfoot>
</table>
</htmldb>
</div>
</div>
这是我的jQuery选择器,几乎可以工作:
$('#mainTable').find('div[rel=mainTable] tbody tr:gt(0)');
答案 0 :(得分:2)
您想使用子选择器:A > B
。以下jQuery代码将选择<tbody />
中找到的第一个表中<div rel="MainTable" />
元素的所有直接子行:
$('div[rel=MainTable] table:first > tbody > tr')
有关详情,请参阅jQuery documentation。
答案 1 :(得分:0)
我会给父表行一个特定的类。然后您可以通过类名访问它们:
<div id="mainTable">
<div id="randomServerGeneratedNumbers" rel="MainTable">
<htmldb:randomNumbers>
<table id="moreRandomNumbers">
<tbody>
<tr class="row"></tr> <!--THESE ARE THE ROWS I WANT!!!!-->
<tr class="row">
<td>
<table>
<tr></tr> <!--IGNORE THESE!!!-->
</table>
</td>
</tr>
<tr class="row"></tr>
</tbody>
<tfoot></tfoot>
</table>
</htmldb>
</div>
并选择如下:
$('table#moreRandomNumbers .row');