1、选择器Selector的使用
jQuery提供给我们非常丰富的手段使用选择器定位DOM元素,不同的选这起之间存在着一定的性能差异。下面对几种常用的选择器进行性能的比较:
$("#id") >= $("p"), $("div") > $(".class") > $("[attribute=value]") > $(":hidden")
使用id以及标签名进行定位的性能是最佳的,因为jQuery底层将直接调用本地方法document.getelementById() 和 document.getElementByTagname()来定位DOM元素;
使用.class方法稍微复杂,IE9之前的版本不支持document.getElementByClassName()方法,因此通过DOM搜索方式实现,对性能影响很大;
使用属性定位DOM元素,本地js方法中没有直接的实现;目前基本所有浏览器都支持querySelectorAll()方法,但是性能因浏览器有差异。伪累选择器尽量不要单独使用。
2、链式调用
链式调用是jQuery一个非常不错的特性,原理在于处理一个对象的时候、jQuery会返回一个jQuery对象,可用于下一个处理。举例如下:
$("#id").hide();
$("#id").css("background", "#22cc88");
$("#id").show();
链式调用:$("#id").hide().css("background", "#22cc88").show(); 这样可以减少选择器的使用次数(减少查找DOM的次数),而且美观;
坚决不使用链式表达、或者不适合使用链式调用的情况,可以使用缓存caching;表达如下:
var id = $("#id"); id.hide(); id.css("background", "#22cc88"); id.show();
(该博客会一直更新 (ˇˍˇ))
我是程序员中的小菜,今天第一次正在意义上的写技术博客、说的不好或者不对的地方望指正。O(∩_∩)O谢谢