jquery / jquery/learn.jquery.com
Selector Performance
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 915
- Forks
- 471
- PR merge metrics
- No merged PRs in 30d
Description
Much has been written and discussed over the years with respect to selector performance -- however, the best practises have also evolved over time as performance inside of jQuery has improved, and browsers have improved (especially the advent of QSA). A lot of the literature out there on this comes from different points in history, which leads newcomers to get a skewed view of priorities. We should explain some of this history and use this article as the clearing house on what is currently "best," things like
- not being overly specific in selectors
- avoiding jQuery-only psuedoselectors
- including quotes in attribute selectors to get into QSA
- Sizzle vs. QSA
- thoughts on balancing performance in fast modern browsers in QSA with oldIE
- where selector performance fits into the general app performance picture
(Hoping to get a lift here from @timmywil after the Sizzle rewrite for 1.8. @crowchick proposed some content for this in #54 that could certainly be fleshed out here to anyone's heart's content)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the selector-performance topics listed in the issue, including QSA, Sizzle, jQuery-only pseudo-selectors, quoted attribute selectors, old IE, and broader application performance. Done means producing a current, historically grounded article that consolidates these recommendations for newcomers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, jquery
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100