With jquery there seem to be two ways of finding a list item within an unordered list within the DOM.
$("ul>li");
and
$("ul").find("li");
Is there a reason why the latter might be more preferable? It seems like one would need more code to get the same result.
Yup. Speed. .find()
will win every time. And speed of processing is tantamount!
jsPerf speed test to show what I mean
Although .find()
will get everything that is a subordinate (children, children of children, children of children of children, etc), and >
is a direct child selector. Its a better apples-to-apples to compare either of the following:
$('ul li')
vs $('ul').find('li')
$('ul > li')
vs $('ul').children('li')
Although if you do .find('li')
it'll still be the fastest way to do it, even faster than .children('li')
.
updated jsPerf to include .children()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With