我有一个包含10个php / mysql生成表的页面。 所有表都具有相同的ID。
行数不同。当其中一个表的行数小于3时,我想隐藏整个表。
如何遍历表格并隐藏特定的表格。使用jQuery?
答案 0 :(得分:3)
所有表都具有相同的ID。
ID必须是唯一的。改为使用类。
回答你的问题:隐藏所有没有可见第三行的表,注意eq()
从零开始:
$('table:not(:has(tr:visible:eq(2)))').hide();
td {
border: 1px solid gray;
}
.hidden {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr><td>Hidden</td></tr>
<tr><td>Hidden</td></tr>
</table>
<table>
<tr class="hidden"><td>Hidden</td></tr>
<tr><td>Hidden</td></tr>
<tr><td>Hidden</td></tr>
</table>
<table>
<tr class="hidden"><td>Hidden</td></tr>
<tr><td>Visible</td></tr>
<tr><td>Visible</td></tr>
<tr><td>Visible</td></tr>
</table>
答案 1 :(得分:1)
尝试使用:
if($("table tr").length < 10){
$("table tr").addClass('display-none');
}
css是(或隐藏表格的任何其他方式):
.display-none{
display: none;
}
答案 2 :(得分:1)
尝试以下内容。希望这会对你有所帮助。
$('table').each(function(){
var row = $(this).find('tbody > tr').length;
if(row<3){
$(this).hide();
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<thead><tr><th>ID</th><th>Name</th></tr></thead>
<tbody>
<tr><td>1</td><td>AA</td></tr>
<tr><td>1</td><td>BB</td></tr>
<tr><td>1</td><td>CC</td></tr>
</tbody>
</table>
<table>
<thead><tr><th>ID</th><th>Name</th></tr></thead>
<tbody>
<tr><td>1</td><td>AA</td></tr>
<tr><td>1</td><td>BB</td></tr>
</tbody>
</table>