到处都是jQuery选择器的年代

开发 前端
如今jQuery在网站上普及的程度越来越高,所以,对于jQuery的使用,即使再小的一点认识、一点优势、一点不足,也显得越来越值得研究和探讨。

如今jQuery在网站上普及的程度越来越高,所以,对于jQuery的使用,即使再小的一点认识、一点优势、一点不足,也显得越来越值得研究和探讨。最近,我就对jQuery的选择器使用做了一些个小小的实验,用来说明jQuery的不同选择器在不同的情况下,哪个效率更高,更值得使用。

先在每个测试页面的head中引入google提供的jquery文件和用于测试的小插件firejspt。

  1. <!-- 引入FireJSPT的库文件 -->  
  2. <script type="text/javascript" src="firejspt.js"></script>  
  3. <!-- 引入google提供的1.44版的jQuery的库文件,其实哪个版本都无所谓了,呵呵 -->  
  4. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 

1. 最常用的id选择器和class选择器,将以下代码复制200次,置于body标签内。

  1. <div id="ilian">比较id选择器和class选择器</div> 
  2. <div class="ilian">比较id选择器和class选择器</div> 

用于本次测试的JS代码如下:

  1. function ilianTest01(){  
  2.         $('#ilian').click(function() { alert('Hello World'); });  
  3. }  
  4.  
  5. function ilianTest02(){  
  6.         $('.ilian').click(function() { alert('Hello World'); });  
  7. }  
  8.  
  9. /*调用2个函数进行测试*/ 
  10. $(function(){  
  11. jspt.test(function(){ ilianTest01(); });  
  12. jspt.test(function(){ ilianTest02(); });  
  13. }); 

测试结果如下:

由图可以id选择器相比于class选择器的效率优势是非常地。。。。。

附本次测试地址:http://www.threesnow.com/code/090/ilian_01.html

2. 在选择标签时,层级选择器用得也非常频繁,这次对比测试直接子标签符号“>”和children。

将以下代码放入body标签内,并将其中的li标签复制500次。

  1. <ul id="ilian"> 
  2.     <li>比较直接子标签符号“>”和children</li> 
  3.     <li>比较直接子标签符号“>”和children</li> 
  4.     <li>比较直接子标签符号“>”和children</li> 
  5.     <!-- 省略497次 --> 
  6. </ul> 

用于本次测试的JS代码如下:

  1. function ilianTest01(){  
  2. $('#ilian > li').click(function() { alert('Hello World'); });  
  3. }  
  4.  
  5. function ilianTest02(){  
  6. $('#ilian').children('li').click(function() { alert('Hello World'); });  
  7. }  
  8.  
  9. /*调用2个函数进行测试*/ 
  10. $(function(){  
  11. jspt.test(function(){ ilianTest01(); });  
  12. jspt.test(function(){ ilianTest02(); });  
  13. }); 

测试结果:

由此可见children选择器要优于直接子标签符号选择器。

附本次测试地址:http://www.threesnow.com/code/090/ilian_02.html

限于文章长度,本文只展示了最基本的测试,且以上测试,均是在简单环境中测试的,测试效果并不代表绝对的结论。

原文链接:http://www.cnblogs.com/ilian/archive/2012/06/11/jquery-selector-test.html

【编辑推荐】

  1. jQuery:让文盲秀网页
  2. jQuery和PHP打造功能开关效果
  3. jQuery图片延迟加载技术的应用
  4. 10个基于jQuery的Web交互插件
  5. JQuery插件的开发真的有那么难吗
责任编辑:张伟 来源: 爱莲学堂的博客
相关推荐

2010-12-27 16:01:45

jQuery选择器

2010-07-20 10:11:32

jQuery选择器Sizzle

2013-12-02 14:22:14

jQuery选择器

2010-06-25 09:04:43

jQuery选择器

2012-04-16 14:32:31

iOS选择器代码

2009-05-14 10:44:54

JQuery特殊字符ID选择器

2009-07-16 11:02:33

Swing文件选择器

2013-03-11 10:30:56

CSSWeb

2011-04-26 15:07:48

jQuery

2009-11-26 09:52:05

jQuery选择器

2011-11-28 13:42:55

Sencha Touc组件选择器

2012-12-27 14:08:39

Android开发颜色选择器

2010-09-03 09:30:29

CSS选择器

2017-03-20 14:46:07

Android日期时间选择器

2023-01-30 08:42:33

CSS选择器性能

2023-03-16 10:20:55

CSS选择器

2010-09-07 11:14:32

CSS属性选择器CSS

2022-05-10 07:49:40

CSS选择器

2020-10-25 08:57:56

CSS前端浏览器

2010-08-26 12:47:15

CSSclass
点赞
收藏

51CTO技术栈公众号