【发布时间】:2013-09-06 19:02:40
【问题描述】:
哪个更快
document.getElementsByName('tempName')[0].value
或
$('[name="tempName"]')[0].value
我想知道,因为我正在编写 js 代码,我是否必须在每次更改单个字段时使用它大约 10000 次,并且我想知道它对性能的影响。
【问题讨论】:
-
了解自己:jsperf.com
-
问题是它们不相等,你无法有意义地比较它们。 jQuery 的目的是规范化您在所有浏览器中与 DOM 的交互。在幕后,jQuery 所做的不仅仅是为您提供您的元素。您必须修改您的非 jQuery 示例以适用于甚至不支持
getElementsByName的浏览器,以使这两个示例具有远程可比性。 -
顺便说一句,在您的 jQuery 示例中,为什么不简单地使用
$('[name="tempName"]').val()? -
@meagar 在这种情况下
getElementsByName即使在相当旧的版本(例如 IE 5.5)中也受支持:quirksmode.org/dom/w3c_core.html
标签: javascript jquery performance dom