Greasemonkey 脚本使用 jQuery 忽略附加到表行的元素
Greasemonkey script ignores elements appended to table rows using jQuery
我使用 jQuery 将一些<th>
和<td>
元素附加到表中的多个行中:
$(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>");
}
然后,我加载这个 Greasemonkey 脚本,它应该使整个表可排序。但是,Greasemonkey 脚本仅使在我使用 jQuery 添加单元格之前属于表一部分的列可排序。如何使其适用于所有列?
如果不更改 Greasemonkey 脚本,您将无法执行此操作。 但是,在这种情况下,这相当容易,因为目标页面只需更改一次表格并$(document).ready
(名义上DOMContentLoaded
)。
因此,如果您将 Greasemonkey 脚本设置为在窗口 load
运行,那么它将在表被修改后运行。
对于此特定脚本,只需将最后几行从:
var allTables = window.document.documentElement.getElementsByTagName ("TABLE");
CODEBOX.forEach (allTables, function (table){
CODEBOX.tabsorter.processTable (table);
} );
自:
window.addEventListener ("load", function () {
var allTables = window.document.documentElement.getElementsByTagName ("TABLE");
CODEBOX.forEach (allTables, function (table){
CODEBOX.tabsorter.processTable (table);
} );
} );
相关文章:
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 浏览器是否持久缓存脚本元素的编译版本
- 如何使用java脚本或jQuery基于相同的特定css属性对元素进行分组
- 如何使用以下脚本在单击时显示树结构的元素
- 无法通过内容脚本使用jQuery更改HTML元素的样式
- AJAX和php脚本后添加的表单元素未传输到$_POST
- 如何调用绑定到angular元素的java脚本函数
- 注入的元素和jQuery脚本.如何让他们一起工作
- 动态添加的输入元素不会在脚本中返回值
- 火虫找到隐藏我的元素的脚本
- 如何在呈现页面后使用 Java 脚本检测 dom 元素值的值是否有任何变化(例如,任何输入或复选框值更改)
- 从外部 js 脚本创建元素并插入到 html 中
- jQuery:调用脚本时隐藏元素
- 使用java脚本在html中插入元素
- 创建一个本地脚本来操作网站中的DOM元素
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- 如何在加载表单时获得对Builder配置的Jenkins果冻脚本中表单元素的引用
- 如何将 DOM 元素脚本添加到头部分
- 如何向内容添加元素(脚本)
- 来自 W3C 验证程序的错误“元素脚本不得具有属性延迟,除非还指定了属性 src”