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')”

原文地址:https://www.cnblogs.com/gbin1/p/2201970.html