在 IE 中将表解析为数组对象的有效方法

发布于 2024-11-30 05:33:42 字数 564 浏览 1 评论 0原文

我有超过 1k 行和超过 7 列的表,试图解析为数组对象,我尝试

$(tableSearch).each(function () {
    $('tr', $(this)).each(function (key, tr) {
        var self = this;
        var obj = new Object();
        var rowPos = 0;
        $('td', tr).each(function (rowPos) {
            obj[_self.colModel[rowPos].name] = $(this).html();
        });
        obj['Key'] = 'Rec-' + key;
    });
});

在 FF 中使用 jquery 它需要 300 毫秒,但在 IE 中它需要 60 秒:(

因为你可以比较它的大约 200 次 。

有什么办法可以在 IE 中获得性能。我尝试了原始的 javascript 方法,但在 IE 中仍然没有实现效率

谢谢 进步

im having table with more than 1k rows and more than 7 columns, trying to parse into array object, i tried using jquery

$(tableSearch).each(function () {
    $('tr', $(this)).each(function (key, tr) {
        var self = this;
        var obj = new Object();
        var rowPos = 0;
        $('td', tr).each(function (rowPos) {
            obj[_self.colModel[rowPos].name] = $(this).html();
        });
        obj['Key'] = 'Rec-' + key;
    });
});

in FF it takes 300 milli seconds, but in IE its taking 60 seconds :(

as u can compare its around 200 times slower.

is there any way to get performance in IE. i tried raw javascript methods also still in IE efficiency is not achieved.

help me!!!!!!!.. how can i get similar performance in all browsers.

THANKS in Advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝戈者 2024-12-07 05:33:42

我得到了解决方案 如果我们以这种方式实现,IE 会更快

table = document.getElementById("myGrid");
    for (i = 0; i < table.rows.length; i += 1) {
       var rowData = new Array();
       row = table.rows[i];
       for (j = 0; j < row.cells.length; j += 1) {
           cell = row.cells[j];
           rowData[j] = cell.innerHtml
       }
       obj.push(rowData);
    }

注意:如果您使用任何调试器,请禁用调试模式。

那么 IE 似乎还可以,但不能比 FF 或 safari 快

i got the solution IE can be faster if we implemented this way

table = document.getElementById("myGrid");
    for (i = 0; i < table.rows.length; i += 1) {
       var rowData = new Array();
       row = table.rows[i];
       for (j = 0; j < row.cells.length; j += 1) {
           cell = row.cells[j];
           rowData[j] = cell.innerHtml
       }
       obj.push(rowData);
    }

Note: disable debug mode if ur using any debugger.

then IE seems to be reasonable but cant be faster than FF or safari

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文