Are there any speed/efficiency differences between the following two lines.
$("table td:not(:first-child)")
and
$("table td").not(":first-child")
I would think that the first would be better since it is removes objects, but is there an actual difference and is it substantial.
Thanks
popupbutton is the fastest.
jQuery selector selects all elements based on the elements name given by you. jQuery filter( ) adds further detail to the selected elements by specifying the criteria of selection.
ID is absolutely the fastest. Part of the reason is that ID is supposed to be unique, so the API stops searching after the ID is found in the DOM. If you must use a class or attribute selector, you can improve performance by specifying the optional context parameter.
As you can see from the jsperf test, :not
is on average about twice as fast. Overall though this performance will likely be a very small part of your overall execution time.
The jquery docs state:
The .not() method will end up providing you with more readable selections than pushing complex selectors or variables into a :not() selector filter. In most cases, it is a better choice.
So really it's up to you to decide if the fractions of a second you gain outweigh the readability.
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