通常,按ID查找元素将是最快的选择,因为从根本上讲,它最终会调用document.getElementById()
,许多浏览器都对其进行了优化。
通过XPath查找元素对于使用非常复杂的选择器查找元素很有用,并且是最灵活的选择策略,但是它可能会非常缓慢,尤其是在IE中。在IE 6、7或8中,通过XPath进行查找可能比在Firefox中进行查找慢一个数量级。IE没有提供本机XPath-over- HTML解决方案,因此该项目必须使用JavaScript XPath实现,而旧版IE中的JavaScript引擎确实要慢得多。
如果需要使用复杂的选择器查找元素,我通常建议尽可能使用CSS选择器。它不像XPath那样灵活,但是可以涵盖许多相同的情况,而不会表现出XPath可以对IE造成的极端性能损失。