рдЬрдЯрд┐рд▓ рдЪрдпрдирдХрд░реНрддрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдВ

рдмреИрдХрдПрдВрдб рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред CSS рдореЗрдВ рдЙрдирдХреА рдореВрд▓ рднреВрдорд┐рдХрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╣рдо рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреА рдШреЛрд╖рдгрд╛ рд╢реИрд▓реА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╡реЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реИрдВред

рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ CSS рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдкрд╛рд╕ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдЖрдзреБрдирд┐рдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдкрдиреА рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рд╣рдЬрд╛рд░реЛрдВ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдПрдХрд▓ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рд╢реИрд▓реА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рднрд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ CSS рдирд┐рдпрдореЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХ рд╕рд░реНрдХрд▓ рдореЗрдВ рд╕рднреА рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ - рдпрд╣ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реЛрдЧрд╛ред

рдХрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдбреЗрдЯрд╛ рдХреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдореВрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рддреНрдпрд╛рдЧрддреЗ рд╣реИрдВ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред WebKit рдореЗрдВ, рдпрд╣ рдПрдХ RuleSet рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред

SelectorSet


SelectorSet рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рдореВрд╣реАрдХрд░рдг рдХрд╛ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ - рддреЛ рдЖрдк рдЗрди рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪрдпрдирдХрд░реНрддрд╛ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рджрд╛рдИрдВ рдУрд░ рд╕реЗ рдХреБрдВрдЬреА рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдЪрдпрдирдХрд░реНрддрд╛ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп id - рдпрд╣ id рдХреБрдВрдЬреА рдмрди рдЬрд╛рддреА рд╣реИ, рдпрджрд┐ рдХрдХреНрд╖рд╛ рджрд╛рдИрдВ рдУрд░ рд╣реИ, рддреЛ рдХрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрджрд┐ред рдлрд┐рд░ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдХреНрд░рдорд┐рдд рд╣реИрд╢ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣реИрд╢ рдореЗрдВ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИред

рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рддрддреНрд╡ рдФрд░ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдореВрд╣ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░рддреЗ рд╕рдордп, рддрддреНрд╡реЛрдВ рдХреА рдЧреБрдгреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдЗрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рд╣реИрд╢ рдореЗрдВ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗрдЯ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд┐рд▓рд╛рди рддрддреНрд╡реЛрдВ рдФрд░ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЧрддрд┐ рджреЗрдирд╛


рд╕рдВрднрд╡рддрдГ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЬреНрдЮрд╛рдд рдЙрджрд╛рд╣рд░рдг jQuery $.fn.live (рдирдпрд╛ $.fn.on ) рд╣реИред рд╕реАрдзреЗ рд╕рдВрд▓рдЧреНрди рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ DOMContentLoaded рдШрдЯрдирд╛ рдХреЗ рдмрд╛рдж рдЬреЛрдбрд╝реЗ рдЧрдП рд╕рднреА рдирдП рддрддреНрд╡ рднреА рдЗрд╕ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рддрд░рд╣ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдХреНрд╕рд░ рдЕрдкреВрд░рдгреАрдп рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, pjax рдЬреИрд╕реЗ рдкреИрдЯрд░реНрди рдореЗрдВ, рдЬрдм рдкреВрд░рд╛ рдкреГрд╖реНрда рдХрднреА рдУрд╡рд░рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди document рдХреЛ рдУрд╡рд░-рдбреЗрд▓рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреА рдШрдЯрдирд╛рдПрдБ, рдЬреИрд╕реЗ $('.foo').live('click') , рдпрд╛ $(document).on('click', '.foo') рд╣реИред рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛ рдЙрд╕ рдШрдЯрдирд╛ рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡ рдХреЗ рдкреВрд░реНрд╡рдЬреЛрдВ рдХреА рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдмрдбрд╝реЗ рдФрд░ рдЬрдЯрд┐рд▓ рдбреЛрдо рдХреЗ рд╕рд╛рде рдмрдбрд╝реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдШреЛрдВрд╕рд▓реЗ рдХрд╛ рд╕реНрддрд░ 15 рдпрд╛ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдмрд╕реЗ рджреБрдЦрдж рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рддрдм рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдЬрдм рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рдЪрдпрдирдХрд░реНрддрд╛ рд╣реЛрддреЗ рд╣реИрдВред GitHub 100 рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдмрд╛рд╕реНрдХреИрдореНрдк 300 рд╕реЗ рдЕрдзрд┐рдХ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреЛ document рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐,


рдпрджрд┐ рдЖрдк рдКрдкрд░ рджрд┐рдП рдЧрдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╕рдореВрд╣реАрдХрд░рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ jQuery рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред GitHub рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рд░реНрдХрдЕрдк рдФрд░ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЕрдВрддрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред Chrome 32.0.1700 рдореЗрдВ, рдРрд╕реА рдШрдЯрдирд╛рдУрдВ рдХреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЧрддрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ 175% рддрдХ рдкрд╣реБрдБрдЪ рдЬрд╛рддреА рд╣реИ!

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрди рджреЛрдиреЛрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдПрд╕рдПрд╕ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди, рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рдШреЛрд╖рдгрд╛рддреНрдордХ рдШрдЯрдирд╛ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХрд╛ рдореВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рд▓реЛрдЧ 2006 рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдкреНрд░рдпреБрдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ
github.com/josh/selector-set
github.com/josh/jquery-selector-set

Source: https://habr.com/ru/post/In210270/


All Articles