Javascript IE'的解决方案;s document.all.table.rows()';功能';

Javascript IE'的解决方案;s document.all.table.rows()';功能';,javascript,internet-explorer,google-chrome-extension,html-table,Javascript,Internet Explorer,Google Chrome Extension,Html Table,我在一个网站上有一个为IE编写的脚本。我无法编辑原始脚本,所以我尝试通过js和Jquery(使用Chrome插件)对其进行修改 脚本使用下一行将行添加到HTML表中,但在Chrome中出现错误: document.all.tbl.rows(i); 经过一些研究,我发现这是一个只在IE中使用的函数。在Chrome中使用了数组。 因此,所有这些行都应更改为以下内容: document.all.tbl.rows[i] 同样的问题也发生在行[i].cells()上 我已尝试将数组移动到rowsDat

我在一个网站上有一个为IE编写的脚本。我无法编辑原始脚本,所以我尝试通过js和Jquery(使用Chrome插件)对其进行修改

脚本使用下一行将行添加到HTML表中,但在Chrome中出现错误:

document.all.tbl.rows(i);
经过一些研究,我发现这是一个只在IE中使用的函数。在Chrome中使用了数组。 因此,所有这些行都应更改为以下内容:

document.all.tbl.rows[i]
同样的问题也发生在
行[i].cells()上

我已尝试将数组移动到
rowsData
,并将
覆盖到从
rowsData
检索数据的函数

document.all.tbl.rowsData = document.all.tbl.rows; // This seems to work
document.all.tbl.rows = function(id) {
    console.log('This function is used');
}
在使用Chrome的devtools进行检查后,我发现rowsData确实包含行的副本,但行仍然是一个数组。使用
document.all.tbl.rows()
时,仍然会出现相同的错误:

未捕获类型错误:document.all.tbl.rows不是函数

唯一的另一种选择是替换整个函数(这是相当长的,并且不是首选的,因为它总是有可能改变)

我猜重写浏览器变量是不可能的。
有什么方法可以实现这一点吗?

要覆盖类函数,需要在原型上执行:
HTMLTableElement.prototype.rows
似乎仍然不起作用。我重新创建了我在JSFIDLE上所说的内容: