この Jquery では、以前の reg_user_table が表示されていたのと同じ場所に active_user_table を表示しています。したがって、最初に reg_user_table を表示しないようにし、次に active_user_display をブロックとして設定します。その後、正常に動作している getJSON を発行しています。問題は、テーブルがアタッチされている場合と、すべてのテーブルにクラス active_table をアタッチして、すべてのテーブルを数えてそのうちの 1 つだけを表示し、DOM から他のテーブルを削除またはデタッチできるようにする場合です。クラスactive_tableが最後のもの以外のすべてに適用されるようにすることはできません。最近追加されたクラスにはactive_tableが表示されていません。
$('#reg_user_table').hide();
if($('#active_user_table').is(':hidden')){
$('#active_user_table').css("display","block");
$.getJSON("/siteadmin/active_user_count", function(response_data)
{
var data = [response_data.today,response_data.Sevendays,response_data.Month];
var caption = ['Active Today','Active Past 7 Days','Active This Month'];
var $table = $('<table/>');
for(var i = 0; i<3; i++) {
$table.append('<tr><td><h3>'+caption[i]+':'+'</h3></td><td><h3>'+ data[i] + '</h3></td></tr>');
}
$('#active_user_table').append($table);
});
$('#active_user_table').children().addClass("active_table");
console.log("Hello World!" + $('.active_table').length);
}