gpt4 book ai didi

jquery - 如何加快IE8中innerHTML的读取速度?

转载 作者:行者123 更新时间:2023-12-03 22:40:01 25 4
gpt4 key购买 nike

我正在将 JQuery 与 DataTable 插件一起使用,现在我在以下行中遇到了很大的性能问题。

aLocalData[jInner] = nTds[j].innerHTML; // jquery.dataTables.js:2220

我有一个 ajax 调用,结果字符串为 HTML 格式。我将它们转换为 HTML 节点,这部分没问题。

var $result = $('<div/>').html(result).find("*:first");
// simlar to $result=$(result) but much more faster in Fx

然后我激活启用将结果从普通表转换为可排序数据表。速度在 Fx 中可以接受(900 行大约 4 秒),但在 IE8 中 Not Acceptable (超过 100 秒)。

我使用内置分析器深入检查,发现上面的单行占据了 99.9% 的时间,我怎样才能加快速度?我错过了什么吗?

            nTrs = oSettings.nTable.getElementsByTagName('tbody')[0].childNodes;
for ( i=0, iLen=nTrs.length ; i<iLen ; i++ )
{
if ( nTrs[i].nodeName == "TR" )
{
iThisIndex = oSettings.aoData.length;
oSettings.aoData.push( {
"nTr": nTrs[i],
"_iId": oSettings.iNextId++,
"_aData": [],
"_anHidden": [],
"_sRowStripe": ''
} );

oSettings.aiDisplayMaster.push( iThisIndex );

aLocalData = oSettings.aoData[iThisIndex]._aData;
nTds = nTrs[i].childNodes;
jInner = 0;

for ( j=0, jLen=nTds.length ; j<jLen ; j++ )
{
if ( nTds[j].nodeName == "TD" )
{
aLocalData[jInner] = nTds[j].innerHTML; // jquery.dataTables.js:2220

jInner++;
}
}
}
}

最佳答案

尝试使用YUI DataTable 。对于我扔到的任何大 table 来说,速度都非常快。您可以将它与 JQuery 一起使用,没有任何问题。

例如:http://paulisageek.com/compare/cpu/

关于jquery - 如何加快IE8中innerHTML的读取速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com