getelementbyid vs index

时间:2010-08-03 17:54:57

标签: javascript performance

在我的Intranet网络应用程序中,有一个项目表,当前使用id标记来选择预期的行,选择的速度为每秒5-10个选择。由于异步性质,当前使用的方法可能会不时地导致一些不一致,并且很难正确地同步它。

问题是按索引选择(通过jquery中的eq标签)比按ID选择(通过getElementByID)更快?

我做了一些测试,结果显示id略快,但我想我会要求社区确认。

2 个答案:

答案 0 :(得分:1)

在我看来,虽然你的结论是getElementByID会更快,因为jquery建立在javascript之上,虽然我可能不知道jquery需要回答这个问题。

归结为原始javascript与javascript之上的一层,javascript本身将永远是本次比赛中的王者。

答案 1 :(得分:1)

jQuery中的任何内容都不比getElementById或任何其他内置DOM选择器函数快。每次调用$时,都会导致性能下降。当然,如果您的jQuery选择器像'#somediv'一样简单,那么差异就会很小。但是如果你正在调整性能,并且真的想要剔除性能的最后一点,那就不要使用jQuery。

如果您绝对需要jQuery的包装函数,请调用$(document.getElementById('somediv'));并将结果分配给您可以重用的变量。

虽然没有看到你的代码,但很难说你如何才能最好地优化它,或者即使jQuery是主要的瓶颈。