GBin1分享:jQuery新手技巧之“避免过多使用$('.someclass')”
原文:net.tusuplus.com 翻译:GBin1.com
作为nettus+的编辑,我需要检阅很多的教程。尽管jQuery已经流行了很多年了。但是这里任然有一个经常能够看到的非常容易犯得错误。
样例 1
首先我们看看如下代码:
$('.nav a').click(function() {
$(this).hide();
$(this).css('color', 'red');
$(this).show();
alert('something else');
$(this).hide();
return false;
});
以上代码因为各种原因有些过度复杂。我们这里不关心代码具体执行的功能。相反,我们关注一下所有的$(this)参考。
现在我们把DOM想象为一个水池。记得你还是个孩子的时候,你肯定会跳进池子里抓鱼。而你的父母肯定只是在旁边观看。这是一个非常好的现实中的比较。
每一次当你使用$(‘.someclass')的时候,jQuery都会跳到池子(DOM)里寻找鱼(Nodes)。因此,当你在一个函数中多次参考的时候,会造成大量的跳水动作。这样会带来大量的浪费。为什么在不需要的时候还调用jQuery呢? 你应该执行所谓的“缓存”。
... ...
原文来自:GBin1分享:jQuery新手技巧之“避免过多使用$('.someclass')”
欢迎访问GBin1.com