Quick question:
$(".class > .otherClass tr#id td#id") into $("#id").id(".class >
.otherClass tr#id td")
Does this work? Or should the function be 'is' not 'id'?
$(".class > .otherClass tr#id td#id") into $("#id").is(".class >
.otherClass tr#id td")
I'm just wondering because I thought the 'id' function is used to set
the 'id' attribute of an element.
-- Felix
PS: Insightful posts, definitely good stuff. Thanks @ Karl for getting
this going and doing a blog post!
--------------------------
http://www.thinkingphp.org
http://www.fg-webdesign.de
Yehuda Katz wrote:
On 12/16/06, *David* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
I asked that question a few days ago, so i will pass the knowledge :)
>
> 1, $('#id')
calls the javascript function getElementById so that is the fastest.
> 2, $('tag#id')
is slow because jquery gets all the tags first and then searches
for the id
A possible way to speed up $("tag#id") is to do $("#id").is("tag")
That will first run getElementById, and then test if it matches the
selector.
You would probably see dramatic speed gains by converting something like:
$(".class > .otherClass tr#id td#id") into $("#id").id(".class >
.otherClass tr#id td")
since a search by ID at any point is really just a search by ID which
also tests whether that node matches the early selectors/filters.
>
> 3, $('.class',context)
the performance depends on the context
Well sort of. $(".class", context) where context is $("#id")[0] is
the same thing as $("#id .class")
> 4, $('#id .class')
> 5, $('.class1 .class2')
4 is faster than 5 because of the getElementById function
Indeed. 4 is way faster than 5. Anytime you can narrow something down
by ID, do it. getElementById is blazingly fast, and will help all around.
This is was i understood from the answers. Correct me if i made a
mistake somewhere.
David
_______________________________________________
jQuery mailing list
[email protected] <mailto:[email protected]>
http://jquery.com/discuss/ <http://jquery.com/discuss/>
--
Yehuda Katz
Web Developer | Wycats Designs
(ph) 718.877.1325
------------------------------------------------------------------------
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/