【发布时间】:2011-05-16 22:59:38
【问题描述】:
我最近对选择器的性能感兴趣,当传递一个简单的#id 时,当前实现选择器 API 的浏览器不使用 document.getElementById,这让我很烦恼。
性能损失是huge,因此库作者继续实施他们自己的解决方法。
有什么想法吗?
【问题讨论】:
-
我没有查看这些浏览器的源代码,但你确定它们不直接映射吗?解析字符串并计算它是否只是一个直接的 id 将会有性能损失。
-
伙计们,如果您单击问题中链接的 jsperf 测试,应该清楚的是,如果浏览器 尝试 将“#id”选择器分流到 @987654325 @分辨率,它正在做一个可怕的工作。它可能没有尝试。
-
@Gumbo — 好的,现在我必须删除引用该部分代码的答案!
-
@David Dorward:为什么?是您给出了为什么差异如此“巨大”的答案。
标签: javascript browser css-selectors selectors-api