Dan*_*don 7 javascript performance jquery jquery-selectors
本页的作者:http://24ways.org/2011/your-jquery-now-with-less-suck声称jQuery选择器
$('#id').find('p')速度快$('#id p'),但如果我理解正确,可能会产生相同的结果.造成这种差异的原因是什么?
小智 6
因为$('#id').find('p')优化做...
document.getElementById('id').getElementsByTagName('p');
Run Code Online (Sandbox Code Playgroud)
...而我猜测$('#id p')将使用,querySelectorAll如果可用,或基于JavaScript的选择器引擎,如果没有.
您应该注意,性能始终在浏览器之间存在差异.众所周知,Opera的速度非常快querySelectorAll.
此外,不同版本的jQuery可能会提出不同的优化.
它可能$('#id p')会(或目前)与第一个版本进行相同的优化.