barbabravo / blog

3 stars 1 forks source link

jquery find选择器在不同浏览器下的差异 #25

Open barbabravo opened 9 years ago

barbabravo commented 9 years ago

初步测试,5000个节点的隐藏。

代码如下:

<!doctype html>

``` Document ```

    IE7下find = 501ms,css =731ms

    IE11下find = 216ms , css = 32ms

    chrome下find = 683ms , css = 93ms

    firefox下 find = 285ms , css = 260ms

    safari find = 294ms , css= 105ms

    可能是因为IE7以下不存在css选择器原生方法,jquery针对此采用的sizzle引擎虽有所优化,但仍不及find方法。

    综合来说,现代浏览器(IE6,7除外)在CSS选择节点的执行效率上由于原生方法的优势均不同程度的有所提高。

    因此,在使用jquery时,若兼容在IE8以上的,则可以无脑采用css选择器,若考虑到IE6,7,则需要有针对性的使用find() (IE6,7)和 css选择器(IE8及以上)。