我输出这张表:
<table class="table-example">
<thead>
<tr>
<th scope="col">Location</th>
<th scope="col">Description</th>
<th scope="col">Status</th>
<th scope="col">Eta Fix</th>
</tr>
</thead>
<tbody></tbody>
</table>
如果tbody是空的,我需要整个表不显示
尝试使用此变体:
$(function(){
if ($('.table-example > tbody').length == 0){
$('.table-example).hide();
}
});
我做错了什么?
答案 0 :(得分:2)
可以使用:has
选择器或方法以及:empty
选择器
$('.table-example').has('tbody:empty').hide()
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table-example">
<thead>
<tr>
<th scope="col">Location</th>
<th scope="col">Description</th>
<th scope="col">Status</th>
<th scope="col">Eta Fix</th>
</tr>
</thead>
<tbody></tbody>
</table>
&#13;
答案 1 :(得分:1)
试试这个:
$(function(){
if ($(".table-example > tbody > tr").length == null || $(".table-example > tbody > tr").length == 0){
$(".table-example").hide();
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table-example">
<thead>
<tr>
<th scope="col">Location</th>
<th scope="col">Description</th>
<th scope="col">Status</th>
<th scope="col">Eta Fix</th>
</tr>
</thead>
<tbody></tbody>
</table>
&#13;
答案 2 :(得分:0)
$(function () {
if ($('.table-example > tbody > tr').length == 0){
$('.table-example').hide();
}
});
您可以在.table-example > tbody > tr
中使用$('.table-example').hide();
并且您遗失了'。
我希望它对你有用。
答案 3 :(得分:0)
如果表格中有tbody标签,则选择器$('。table-example&gt; tbody')将返回长度为1。相反,你需要检查tbody中的任何元素:
$(function(){
if ($('.table-example tbody *').length == 0){
$('.table-example).hide();
}
});