当前位置:嗨网首页>书籍在线阅读

43-讨论

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.10.3 讨论

看似没有问题的 $('.clientX') 等调用可能花费大量的时间,这一点很容易忽视。根据浏览器和jQuery的版本,这种选择器可能必须建立页面中每个DOM元素的列表,并且循环寻找指定的类。

1.3之前的jQuery版本在每种浏览器上都使用这种慢速方法。JQuery 1.3引入了Sizzle选择器引擎,该引擎利用较新的浏览器中更快的DOM API,如 getElementsBy ClassName()querySelectorAll()

但是,对于大部分网站,你可能需要在一段时间内支持IE 7,而在IE 7中如果你的页面复杂,类选择器就运行得很慢。

如果你能够使用它,那么像 $('#myid') 那样按照ID选择在所有浏览器中通常都非常快,因为它只对 getElementById() API进行一次调用。

减少需要搜索的元素数量也是有帮助的,要做到这一点,可以指定双亲元素、用标记名称建立更具体的类选择器,或者组合各种技巧。