2012年3月11日星期日

一些比较好的jquery优化

1.选择:优先用#id,使用.class前面带上tag名称,多次操作是使用变量保存(或链式操作)。 
2.sizzle:1.3后采用的选择器引擎采用‘自右向左’取代传统的‘自左向右’,右边选择器更加明确,比如 $('div.class span.class2'),因此在写选择器时需要考虑这点 
3.绑定事件时用live()/delegate()取代bind() 
4.操作dom时可以先取出dom->操作dom—>恢复到原来的位置 
Java代码 
  1. var theForm = $('#myForm');   
  2. var formParent = theForm.parent();   
  3. theForm.remove();   
  4. inputArr.each(function() {   
  5.      theForm.append(this);   
  6. });    
  7. formParent.append(theForm);  
  8. //or detach().doSomething().appendTo();  

5.用find()胜于上下文 
Java代码 
  1. var panels = $('div.panel', $('#content'));   
  2. var panels = $('#content').find('div.panel');//better  

6.用html5 
html5有增加很多独特的tag,更多的tag说明对于特定的tag共同使用的元素越少, 
选择器引擎有更好的表现 
7.大量添加样式时用渲染元素比$.css()好 
Java代码 
  1. $('<style type="text/css"> div.class { color: red; } </style>') .appendTo('head');  

8.多用对象检测 
9.有时用js原始方法更有效率 
10.学一些不常用的方法:map(), slice(),stop(), queue(), dequeue(), prevAll(), pushStack(),inArray(). 

没有评论:

发表评论