jQuery选择器性能:由ID与带有ID模式的标签

时间:2012-11-07 15:05:27

标签: javascript jquery jquery-selectors

我很擅长使用jQuery,因此我相处得很好以获得预期的结果,但这是一个关于性能的问题,我不确定答案:

假设预期的选择实际上是<textarea>,以下哪个选择器是最高效的?

  • $("textarea[id='someID']");

  • $("#someID");

提前谢谢!

4 个答案:

答案 0 :(得分:7)

$("#someID");会更快

因为它基本上使用标准的javascript document.getElementById函数

答案 1 :(得分:4)

选择id始终是最快的方法,因为它使用javascripts自己的getElementById实现。

JSPerf Demo

在我的机器上(Win8,FF16.0.2),属性选择器慢93%!!

答案 2 :(得分:1)

第二个选择器会更快,因为它直接映射到document.getElementById

您可以查看结果here

答案 3 :(得分:0)

为了获得最快的结果,你必须在jquery对象中包装js getElementById:

$(document.getElementById('myid'));

请参阅http://jsperf.com/id-selector-vs-attribute-selector/3