我的表中有 ajax 链接,它将在单击时删除元素。我想确保当所有元素都被删除时,表格应该隐藏起来。我无法在 ajax 调用中添加任何事件。意思是说我不能编辑或更改任何 ajax 成功或任何其他参数或函数。我想要一些可以自行检查表格的东西,当表格主体中没有元素时隐藏表格,当输入条目时它会显示它自己
问问题
980 次
4 回答
3
您可以使用setInterval()
重复调用函数来为您进行检查。然后使用.toggle()
带布尔值的变体:
setInterval(function() {
var $table = $('.tablesorter');
$table.toggle($table.find('tbody').children().length > 0);
}, 500);
这将大约每秒检查两次(每 500 毫秒一次),您可以更改第二个参数以增加或减少检查的频率。
于 2013-04-08T13:26:23.940 回答
1
在这里,例如表类被命名为table
$('.table > tbody:empty').parent().hide();
检查所有表格:
// Call the CheckTables function after 100 milliseconds
setInterval(CheckTables, 100);
function CheckTables()
{
$( "table " ).each(function( index ) {
$(this).find('tbody:empty').parent().hide();
$(this).find('tbody:not(:empty)').parent().show();
});
}
于 2013-04-08T13:25:18.557 回答
1
试试这个
$('.className> tbody:empty').parent().hide();
或者
$('.className tr').each(function() {
if ($(this).find('td:empty').length) $(this).remove();
});
于 2013-04-08T13:25:37.420 回答
1
试试这个:
$(document).ajaxComplete(function() {
$('table').each(function(){
if($('tbody:empty',this))
$(this).hide();
else $(this).show();
});
});
于 2013-04-08T13:37:00.470 回答