テーブルに ajax リンクがあり、クリックすると要素が削除されます。すべての要素が削除されたときにテーブルが非表示になるようにしたいと思います。ajax 呼び出しにイベントを追加できません。つまり、ajax の成功やその他のパラメーターや関数を編集または変更することはできません。テーブルを独自にチェックし続け、テーブル本体に要素がない場合はテーブルを非表示にし、エントリが作成されるとそれ自体を表示するものが必要です
4 に答える
            3        
        
		
setInterval()関数を繰り返し呼び出して、チェックを行うことができます。次に.toggle()、ブール値を取るバリエーションを使用します。
setInterval(function() {
    var $table = $('.tablesorter');
    $table.toggle($table.find('tbody').children().length > 0);
}, 500);
これにより、毎秒約 2 回 (500 ミリ秒ごとに 1 回) チェックされます。2 番目の引数を変更して、チェックの頻度を増減できます。
于 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   に答える