Javascript Greasemonkey脚本使用jQuery忽略附加到表行的元素

Javascript Greasemonkey脚本使用jQuery忽略附加到表行的元素,javascript,jquery,html,greasemonkey,Javascript,Jquery,Html,Greasemonkey,我使用jQuery将一些和元素附加到表中的许多行中: $(selector).filter(function () { //jQuery finds some cells, evaluates them and generates new cell content $(this).parent().append('<td>' + FormattedDate + '</td>'); }); //Some code here generate

我使用jQuery将一些
元素附加到表中的许多行中:

$(selector).filter(function () {
    //jQuery finds some cells, evaluates them and generates new cell content
    $(this).parent().append('<td>' + FormattedDate + '</td>');
});        

//Some code here generates counts

for(var i = column_count; i > header_count; i--) {
    $('.result_table tr:first').append("<th>test</th>");
}        
$(选择器).过滤器(函数(){
//jQuery找到一些单元格,对它们求值并生成新的单元格内容
$(this.parent().append(“”+FormattedDate+“”);
});        
//这里的一些代码生成计数
对于(变量i=列计数;i>标题计数;i--){
$('.result_table tr:first')。追加(“测试”);
}        

然后,我加载它,使整个桌子可以排序。但是,在我使用jQuery添加单元格之前,Greasemonkey脚本只对作为表一部分的列进行排序。如何使其在所有列上工作?

如果不更改Greasemonkey脚本,则无法执行此操作。但是,在这种情况下,这相当容易,因为目标页面只需更改一次表,然后就可以执行
$(document).ready
(名义上
DOMContentLoaded

因此,如果将Greasemonkey脚本设置为在window
load
上运行,那么它将在修改表后运行

对于,只需将最后几行更改为:

var allTables = window.document.documentElement.getElementsByTagName ("TABLE");
CODEBOX.forEach (allTables, function (table){
    CODEBOX.tabsorter.processTable (table);
} );
致:


请不要浪费时间告诉我我应该在Greasemonkey脚本中添加单元格。这不是我要问的问题。大多数greasemonkey脚本在页面加载时加载。您如何确保greasemonkey脚本仅在代码修改表后才进行自身初始化?您的jQuery是在
$(document.ready
)一次性运行,还是间歇性的AJAX事件?这是您控制的页面,还是另一个正在添加计数的GM脚本?我在
$(document.ready
上运行示例中提供的所有JavaScript。在我控制的页面上。有没有办法“告诉”Greasemonkey脚本等待页面上的JavaScript执行完毕?
window.addEventListener ("load", function () {
    var allTables = window.document.documentElement.getElementsByTagName ("TABLE");
    CODEBOX.forEach (allTables, function (table){
        CODEBOX.tabsorter.processTable (table);
    } );
} );