Ok thanks. I'm going to try it. Didn't know about the $... variables convention.
d On 7 Lug, 19:35, "Michael Geary" <m...@mg.to> wrote: > What you wrote would work, and it would be faster than the original code, > but you're making an unnecessary $() call each time you use $(list). > Instead, do it like this: > > var $list = $("ul.list"); > > $list.find("li.selected").addClass("blah"); > > The $ in $list doesn't have any special meaning; it's just a naming > convention to help remember that $list is already a jQuery object and > doesn't need $() when used. > > -Mike > > > > > From: Darko Romanov > > Sent: Tuesday, July 07, 2009 8:56 AM > > To: jQuery (English) > > Subject: [jQuery] Caching nodes > > > Hi there, > > > I'm developing a site that has some js visual effects and > > many graphic elements to move. So I have to take care of each > > single query on the DOM as it could take too much time to be > > executed, resulting in a flicking animation. > > > I thought I could cache in memory a node and then querying > > it, but I can't understand if it made much sense. Something like: > > > var list = $("ul.list"); > > > and then executing any query in ul.list in this way: > > > $(list).find("li.selected").addClass("blah"); > > > instead of: > > > $("ul.list li.selected").addClass("blah"); > > > would it be faster? > > > tnx