You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery中find方法与直接通过ID选择元素的性能对比

哪种DOM元素获取方式更快?

毫无疑问,var id = $('#elemID'); 这种写法的速度要远远快于 $('body').find('#elemID');。

原因很简单:

  • jQuery 对 ID 选择器做了专门的深度优化,当你直接使用 $('#elemID') 时,它会跳过复杂的选择器解析逻辑,直接调用浏览器原生的 document.getElementById() 方法——这是浏览器底层实现的最快DOM查找手段,本质是通过哈希表直接定位元素,几乎没有额外开销。
  • 而 $('body').find('#elemID') 多了完全没必要的额外步骤:首先要定位到<body>元素,再在它的子元素范围内执行查找。哪怕find()最终也会调用getElementById(),但前面多出来的获取body的流程、链式调用的逻辑处理,都让它的速度慢了一截。

顺便提个小细节:HTML规范要求ID在整个文档中是唯一的,所以完全没必要限定在<body>里查找ID,直接全局查找才是最合理、最高效的做法。

内容的提问来源于stack exchange,提问作者Rafdro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:55:51