jquery选择器效率优化问题】的更多相关文章

jquery选择器效率优化问题   jquery选择器固然强大,但是使用不当回导致效率问题: 1.要养成将jQuery对象缓存进变量的习惯 //不好的写法 $('#btn').bind("click",function() {}); $('#btn').css("border","1px solid red"); $("#btn").css("background-color","green&qu…
jQuery选择器的优化选择 1.1 属性选择器 var $div=$("[id]"); 选中拥有该属性的元素 var $div=$("[id=div]");  选中该属性值为div的元素 var $div=$("[id!=div]"); 选中该属性值不为div的元素  (html body 等节点也会被选中) var $div=$("[id^=div]"); 选中该属性值以div开头的元素 var $div=$("…
http://blog.csdn.net/cxl444905143/article/details/48808809 ID > Tag > Class ID 选择器是速度最快的,这主要是因为它使用 JavaScript 的内置函数 getElementById(): 其次是类型选择器,因为它使用 JavaScript 的内置函数 getElementsByTag(): 速度最慢的是 Class 选择器,其需要通过解析 HTML 文档树,并且需要在浏览器内核外递归,这种递归遍历是无法被优化的.…
N1:$('#box').find('p'):最快,直接了当的找到对应的节点jQuery对象: N2:$('p','#box'):注意不是$('p,#box')!!!,jQuery会按照从右往左的顺序解译执行,所以会选到id=‘box’内的所有p元素: N3:$('#box').children('p'); N4:$('#box>p'):这种情况会用Sizzle引擎从右往左依次处理,其中符号的识别处理过程无形中增加了处理时间:注:主要的匹配过程的核心是用正则表达式进行的 N5:$(‘#box p…
优化jQuery选择器 选择优化比以前更加重要,因为越来越多的浏览器实现了queryselectorall()并承担了将jQuery选择器转移到浏览器的责任.记住这些小技巧可以让你轻松突破学习选择器时的瓶颈. jQuery 扩展 如果可能的话,避免使用jQuery扩展选择器.这些扩展无法在性能让原生的queryselectorall() DOM提供的方法更有效,所以还是用jQuery提供的常规选择器吧. 1 2 3 4 5 // Slower (the zero-based :even sele…
jQuery提供了功能强大,并兼容多种css版本的选择器,不过发现很多同学在使用选择器时并未注重效率的问题. a) 尽量使用Id选择器,jQuery选择器使用的API都是基于getElementById或getElementsByTagName,因此可以知道效率最高的是Id选择器,因为jQuery会直接调用getElementById去获取dom,而通过样式选择器获取jQuery对象时往往会使用 getElementsByTagName去获取然后筛选. b) 样式选择器应该尽量明确指定tagNa…
  通过CDN(Content Delivery Network)引入jQuery库 要提升网站中javascript的性能的最简单的一步就是引入最新版本的jQuery库,新发布的版本通常在性能上会有更好的提升而且也修复了一下bug.或者通过CDN引入也是很好的选择,通过CDN引入能够减少网站的加载时间.以下是一些CDN服务: <!-- Case 1 - jQuery CDN --> <script src="http://code.jquery.com/jquery-1.10…
jquery的选择器借鉴了css选择器,核心依然依靠JavaScript的getElementById()和getElementsByTagName()方法,但是他封装了2个方法,让jquery选择器变得简洁易用. 而且避免了易错问题. jquery选择器返回的永远是一个数组对象,如果没有找到指定的元素,就会返回一个空的数组, 所以判断一个jquery对象是否存在时,不能用如下语句 if($("tr")){ //code } 而应该用数组长度来判断,如下语句 if($("tr…
作为一个前端开发, 我觉得很有必要了解浏览器对css选择器的解析,因为这个关系到页面的渲染,高效的方式.避开开销大的方式这些无疑为网站加载缩短了时间. 最近在新的项目中陷入了一个误区,也是出于对jquery使用的了解,于是把jquery中选择器的优化放到了写css上面,但是发现其实这两者是不一样的,浏览器解析css是本身默认的规则,而jquery是模拟出来的规则为了用户更好的使用.后面去查找这方面的资料,于是发现自己的错误是那么的可笑. 找到了阿里前端的一篇文章http://www.aliued…
当我们洋洋得意的使用jquery强大的选择器功能时有没有在意过jquery的选择性能问题呢,其实要想高效的使用jquery选择器,了解其实现流程是很有必要的,那么这篇文章我就简单的讲讲其实现流程,相信会为读者的jquery优化开发提供一些小的建议. 我们知道jquery的$()函数可以传很多种参数(document.string.fn.array.number),那么jquery的init方法就会根据你传参的类型的不同进入不同的流程.其他的我们今天就不多说了,我们重点讲一下对string类型的处…