jQuery рдХреЗ рдЕрдВрджрд░ рд╕реЗ - рдЧреБрдг, рдЧреБрдг, рдбреЗрдЯрд╛

рдирдП рд╕рд╛рд▓ рдХреА рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдХрд╛ рдЖрдЦрд┐рд░реА, рд▓реЗрдХрд┐рди рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЕрдВрддрд┐рдо рдирд╣реАрдВ, jQuery рдХреЗ рдЗрдВрдЯрд░реНрдирд▓реНрд╕ рдкрд░ред рдмрд╣реБрдд рддреЗрдЬ рдФрд░ рдЫреЛрдЯрд╛ рдирд┐рдХрд▓рд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдлреЗрд░реАрд╡рд╛рд▓реЛрдВ рдХреА рджрд┐рд▓рдЪрд╕реНрдкреА, рдорддрджрд╛рди рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ "рдХреНрдпрд╛ рдпрд╣ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдпрдХ рд╣реИ?"

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

рдЙрдирдореЗрдВ рд╕реЗ рдЕрдВрддрд┐рдо рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рдЖрдЦрд┐рд░реА рдмрд╛рд░ рд╕реНрдердЧрд┐рдд рдХрд░ рджреЗрдВрдЧреЗред

рд╕рднреА рддреАрди рдХрд╛рд░реНрдп рд╕реЗрд╡рд╛ рдкрд╣реБрдВрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

jQuery.access


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

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рддрд░реНрдХреЛрдВ рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░, рдпрджрд┐ рдпрд╣ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ, рддреЛ рдЗрд╕реЗ "рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд" рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП access рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, рдпреЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╕рдорд╛рди рд╣реИрдВ:
 $('.user-avatar').attr( { 'alt': '', 'title': function(idx, value) { return ' ' + value + ' (' + $(this).data('id') + ')'; } } ); 
 $('.user-avatar') .attr('alt', '') .attr('title', function(idx, value) { return ' ' + value + ' (' + $(this).data('id') + ')'; } ); 
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ jQuery рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди рдХреБрдВрдЬреА рдФрд░ рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореВрд▓реНрдп рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ , рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЙрд▓рдмреИрдХ рдореЗрдВ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреА рдЬрд╛рдПрдЧреА, рдЬрд┐рд╕реЗ рддрддреНрд╡ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдорд┐рд▓реЗрдЧрд╛ред

рдЧреБрдг рдФрд░ рдЧреБрдг


jQuery.fn.attr

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдлрд╝рдВрдХреНрд╢рди ATTRIBUTE_NODE , COMMENT_NODE , TEXT_NODE рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпрд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рддрддреНрд╡ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ ред

рдЕрдЧрд▓рд╛ jQuery.attr рдореЗрдВ рдХреБрдВрдЬреА рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрдХ рд╣реИ , рд▓реЗрдХрд┐рди рдпрд╣ рдЪреЗрдХ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ jQuery.attr init рд╕реЗ jQuery.attr рд╣реИред рдкрд╣рд▓рд╛ рд▓реЗрдЦ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдерд╛ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред рддреЛ, рджрд╛рдИрдВ рдУрд░ рдХреЛрдб рдкрд░ рдмрд╛рдИрдВ рдУрд░ рдХреЛрдб "рддреИрдирд╛рдд" рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
 $('<span>', { 'title': '', 'text': ' ', 'appendTo': document.body } ); 
 $('<span>') .attr('title', '') .text(' ') .appendTo(document.body); 
рдореИрдВ рдпрд╣ рд╕рд┐рд░реНрдл рдмрд╣реБрдд рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ appendTo рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдХрд┐рд╕реА рднреА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо jQuery.fn рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, attr рдкрд╛рда рдФрд░ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдвреВрдВрдвреЗрдЧрд╛ рдФрд░ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрдиреНрд╣реЗрдВ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред

рдпрджрд┐ рддрддреНрд╡ getAttribute рд░реВрдк рдореЗрдВ рдРрд╕реА рд╕рднреА рд╡рд┐рдзрд┐ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ jQuery.prop рдХреЛ рдПрдХ рд╣реА рдХреБрдВрдЬреА рдФрд░ рдорд╛рди рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдорд╛рдорд▓рд╛ рдХрд╛рдлреА рд╕рдВрдХреАрд░реНрдг рд╣реИ рдФрд░ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рдмрдЧрд░реЗрдкреЛрд░реНрдЯ рджреНрд╡рд╛рд░рд╛, рдХреЗрд╡рд▓ HTML рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реБрдП рдкреБрд░рд╛рдиреЗ IE рдореЗрдВ, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрдЬрд╛рдХреНрд╕ рдЕрдиреБрд░реЛрдз рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ XML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рд╛рдеред

рдпрджрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рд╣реЛрддрд╛ рд╣реИ рдФрд░ null , рддреЛ jQuery.removeAttr рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ , рдЬреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ (рдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ, рдпрджрд┐ рд╡реЗ рдПрдХ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рд╕реВрдЪреАрдмрджреНрдз рдереЗ) рдХреЛ рд╣рдЯрд╛ рджреЗрдВрдЧреЗ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдмреВрд▓рд┐рдпрди рдЧреБрдг, рдпрджрд┐ рдХреЛрдИ рд╣реЛ, рдХреЛ false рд▓рд┐рдП рдбрд╛рд▓ рджреЗрдВрдЧреЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╣реБрдХ (рдпрджрд┐ рдХреЛрдИ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯ-рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдпрд╛ рдЗрд╕реЗ рд╣реБрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ getAttribute ред

jQuery.fn.prop

рд╣рдо рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд┐рд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ attr рдХреЗ рд╕рдорд╛рди рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рддрддреНрд╡ рдХреЛ рд╕реАрдзреЗ рдЧреБрдг рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА рд╕рд╛рде рдЧреБрдгреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рддрд╛ рд╣реИ ред рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг jQuery.propFix рд╕реЗрд╡рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ, рдлрд┐рд░ рд╕реЗ, рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐:

 jQuery.propFix.validMsg = 'validationMessage'; //    $('input:first').prop('validMsg') === $('input:first').prop('validationMessage'); 

hooky

jQuery.attrHooks ( jQuery.attrHooks ) рдФрд░ prop ( jQuery.propHooks ) рдХреЗ рд▓рд┐рдП рд╣реБрдХ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд╕реНрддреБ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ set рдФрд░ / рдпрд╛ рдлрдВрдХреНрд╢рди get рд╣реИред рд╡реЗ рдХрд╛рд░реНрдп рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛:

 <span class="user user-male"></span> <span class="user user-male"></span><!-- male -  !--> <script src="http://code.jquery.com/jquery-1.8.3.js"></script> <script> var SEX_MALE = 0, SEX_FEMALE = 1, sexClassesMap = { 'user-male': SEX_MALE, 'user-female': SEX_FEMALE }; jQuery.propHooks.usersex = { get: function(elem) { var elementClasses = elem.className.split(/\s+/), i = elementClasses.length; for (; i > 0; i--) { if ('undefined' !== typeof sexClassesMap[elementClasses[i]]) { return sexClassesMap[elementClasses[i]]; } } }, set: function(elem, value) { var $element = $(elem), i; for (className in sexClassesMap) { $element.toggleClass( className, sexClassesMap[className] === value ); } } } //      male if (SEX_MALE === $('.user:first').prop('userSex')) { console.log(' - !'); } //    -   $('.user:last').prop('userSex', SEX_FEMALE); </script> 

рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВред рдЬрдм рддрдХ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╡рд╢реНрдпрдХ рди рд╣реЛ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред

рдЕрдЯреЗрд░ рдХреЗ рд▓рд┐рдП рдмреВрд▓рд╣реВрдХ рд╣реБрдХ рдХрд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕реЗрдЯ рд╣реИ, рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдмреВрд▓рд┐рдпрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдЙрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 > $('<input>').attr('disabled', true) [<input disabled=тАЛ"disabled">тАЛ] 

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣реБрдХ disabled рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдореВрд▓реНрдп рдХреЛ рднреА true ред

nodeHook рдХрд╛ рдПрдХ рд╕реЗрдЯ рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмреИрд╕рд╛рдЦреА рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдЬрд┐рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╕рдордп (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ ) jQuery рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдЪрд░рдг рдореЗрдВ рдлрд┐рд░ рд╕реЗ рднрд░рдирд╛ рд╣реИред рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдпрд╣ рдЦрд╛рд▓реА рд╣реИред

рдбреЗрдЯрд╛


рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ jQuery рдРрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрддреА рд╣реИ рдЬреЛ HTML5 рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдИ рд╣реИред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, dataset рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐рдпрд╛рдВ jQuery.data рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рд╣реИрдВ (рдХреЗрд╡рд▓ рдЕрдЧрд░ рдпрд╣ рдПрдХ рд╡рд╕реНрддреБ рдирд╣реАрдВ рд╣реИ)ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреБрдЫ jQuery рд╕реЗ jQuery.data рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ dataset рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрдкрдиреЗ рдХреИрд╢ рдореЗрдВ рджрд┐рдП рдЧрдП рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗ, рд╣рдо рднреА рдЕрдзреНрдпрд╛рдп рдХреЛ рдереЛрдбрд╝рд╛ рддреЛрдбрд╝ рджреЗрдВрдЧреЗред

рдирд╛рдо рд╕реНрдерд╛рди

рд╣рдо рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ jQuery рдореЗрдВ 1.8.3 jQuery.fn.data рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рддрдерд╛рдХрдерд┐рдд рдирд╛рдо рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ 1.7 рдореЗрдВ рдкрджрд╛рд╡рдирдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИ, рдФрд░ 1.9 рдореЗрдВ рдпрд╣ рдЕрдм рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИред рддреЛ рдЕрдЧрд░ рдЖрдк рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рд▓рд┐рдП рдмреБрд░реА рдЦрдмрд░ рд╣реИ:

 $('sometag').on('changeData.users', function(e) { console.dir(e); } ); // ,   ,     $('sometag').data('id.users', 10); //    -  ,       $('sometag').data( { 'id.users': 10 } ); 

рдШрдЯрдирд╛рдУрдВ рдореЗрдВ рдирд╛рдо рд╕реНрдерд╛рди рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

acceptData

data рд╣рд░ рдЪреАрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЪрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдХрд┐ рдПрдХреНрд╕реЗрдкреНрдЯрдбрд╛рдЯрд╛ рдлрд╝рдВрдХреНрд╢рди рдЯреЗрд╕реНрдЯ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдиреЛрдбреНрд╕, embed рдирд╣реАрдВ, applet рдпрд╛ object (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлреНрд▓реИрд╢ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, рдкрд░рд┐рднрд╛рд╖рд╛ classid рд╕реЗ рдЖрддреА рд╣реИ)ред

jQuery.cache

JQuery рдореЗрдВ рдХреИрд╢ рди рдХреЗрд╡рд▓ data рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдореВрд▓реНрдп рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп рддрддреНрд╡ рджреНрд╡рд╛рд░рд╛ рдХреИрд╢ рдХреЛ рдХреБрдЫ рдорд┐рд▓рддрд╛ рд╣реИред jQuery.cache рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдирд┐рдпрдорд┐рдд рдХреНрд░рдорд╛рдВрдХрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ, рдЬрд╣рд╛рдВ рдХреБрдВрдЬреА рддрддреНрд╡ рдХреЗ expando рдореВрд▓реНрдп рд╣реИред jQuery.expando - рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдкрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рд╣рдо рдХреИрд╢ рдореЗрдВ рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддрддреНрд╡ рдХреЛ рдХреИрд╢ рдореЗрдВ рдЕрдкрдирд╛ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ ( рд╡реИрд╢реНрд╡рд┐рдХ рдХрд╛рдЙрдВрдЯрд░ jQuery.guid рдХрд╛ рд╡реЗрддрди рд╡реГрджреНрдзрд┐) jQuery.guid рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рддрддреНрд╡ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХреИрд╢ рддрддреНрд╡ рдореЗрдВ, рдорд╛рди рдХреЛ "рдбреЗрдЯрд╛" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛:

 var $span = $('<span>'), spanElement = $span[0]; //  ,       console.log(jQuery.expando); // jQuery18302642508496064693 console.log(spanElement[jQuery.expando]); // undefined //     id $span.data('id', 10); console.log(spanElement[jQuery.expando]); // 1 console.dir(jQuery.cache[1]); /* Object { data: Object { id: 10 } } */ $span.remove(); console.dir(jQuery.cache[1]); // undefined console.dir(jQuery.deletedIds); // [ 1 ] 

рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ cleanData рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрд▓реНрд▓реЗрдЦ рдпрд╛рдж рд╣реИ? рдпрд╣ рдХреЗрд╡рд▓ рд╣рдЯрд╛рдП рдЧрдП рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реИ , рдФрд░ рд╣рдЯрд╛рдП рдЧрдП рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рдХреЛ jQuery.deletedIds рдореЗрдВ jQuery.deletedIds , рдлрд┐рд░ рдПрдХ рдирдпрд╛ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╡рд╣рд╛рдВ рд╕реЗ рдЕрдЧрд▓рд╛ рдирдВрдмрд░ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдПред

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдХреИрд╢ рд╕реАрдзреЗ рдЕрдВрджрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд╕рдлрд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдпрд╣ рдЖрдВрддрд░рд┐рдХ рдХреИрд╢ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рд╕рд╛рде рдПрдХ toJSON рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ JSON рдореЗрдВ рдХреНрд░рдордмрджреНрдз рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рди рдЖрдП:

 var $strangeObject = $( { 'test': 123 } ), strangeObject = $strangeObject[0]; $strangeObject.data('id', 10); console.dir(strangeObject); /* Object { jQuery18309172190900426358: Object { data: Object { id: 10 } toJSON: function () {} } test: 123 } */ console.log(JSON.stringify(strangeObject, null, 4)); /* { "test": 123 } */ 

CamelCase

data рд▓рд┐рдП рд╕рднреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рджреЛрдиреЛрдВ рдкрд░ рдХреИрдорд▓рдХреЗрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ data (рд╡реИрд╕реЗ, dataset рдЗрд╕ рдкрд░ рдЧрд░реНрд╡ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдпрд╣ рдбреИрд╢ рдХреЗ рд╕рд╛рде рдХреБрдВрдЬрд┐рдпреЛрдВ рдкрд░ рд╢рдкрде рд▓реЗрдЧрд╛):

 $('<span>').data('test-me', 10).data('testMe') // 10 $('<span>').data('testMe', 10).data('test-me') // 10 

рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ

рдХреБрдВрдЬреА рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд╣рд▓реЗ рдирд╛рдо рд╕реНрдерд╛рди (рдЬреЛ рдХрд┐ рдЕрд╡рдзрд┐ рдХреЗ рдмрд╛рдж) рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ , рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдШрдЯрдирд╛ рдХреЗ рдХреЙрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ред

рдлрд┐рд░, рдЙрд╕реА accessData рдорд╛рдзреНрдпрдо рд╕реЗ (рд╣рдо рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди, рдЖрджрд┐ рд╕реЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ), рдпрд╣ рддрддреНрд╡ рдкрд░ рд╕реЗрдЯрдбреЗрдЯрд╛ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдХреИрд╢ рдХреЛ рдбреЗрдЯрд╛ рд▓рд┐рдЦрддрд╛ рд╣реИ (рдЖрдорддреМрд░ рдкрд░ jQuery.data рдХреИрд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рд╢реАрдЯ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереЛрдбрд╝рд╛ рд╕реАрдЦрд╛ рд╣реИред рдКрдкрд░) рдФрд░ changeData рдИрд╡реЗрдВрдЯ changeData рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

рдСрдмреНрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛, рдПрдХрд╛рдзрд┐рдХ рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, jQuery.data рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА-рдорд╛рди рдХреЗ рд▓рд┐рдП jQuery.data , jQuery.data , рд╕реАрдзреЗ рд▓рд┐рдЦрдХрд░, accessData рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ accessData рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ (рдЗрд╕рдореЗрдВ рдЦреБрдж рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, jQuery.fn.data )ред рдХреБрдЫ рднреА рдорд░рдореНрдордд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, 1.9 рдореЗрдВ рдпрд╣ рдЯреБрдХрдбрд╝рд╛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рдкрдврд╝рдирд╛

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

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреБрдВрдЬреА рдПрдВрдЯреА-рдХреЛрдореЗрд▓реАрдЬрд╝реА (рдУрд╣ рдХреНрдпрд╛ рд╢рдмреНрдж рд╣реИ, рд▓реЗрдХрд┐рди рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЯреЗрд╕реНрдЯрдореЗ рдХреЛ рдЯреЗрд╕реНрдЯ-рдореА рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛) рдФрд░ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛-рд╡рд┐рд╢реЗрд╖рддрд╛ (рдкрд┐рдЫрд▓реЗ рдмреНрд░реИрдХреЗрдЯ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛-рдЯреЗрд╕реНрдЯ-рдореА) рдХрд╛ рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдпрджрд┐ рдпрд╣ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдорд╛рди null рдпрд╛ рдмреВрд▓рд┐рдпрди рд╣реИ, рддреЛ рдЗрд╕реЗ рдореВрд▓ (рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╣реАрдВ) рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдПрдХ рдЦреБрд▓реЗ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реИрдХреЗрдЯ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА jQuery.jsonParse рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧреА ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ рд▓рдВрдмреА рд╕рдВрдЦреНрдпрд╛ (20 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрдг) рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рджреЛрдиреЛрдВ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЯрд┐рдк рдХреЗ рд▓рд┐рдП рд╕рд┐рд▓реНрд╡рд░_рдХреНрд▓реИрд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж), рдпрджрд┐, рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореВрд▓ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред рдкрд░рд┐рдгрд╛рдореА рдореВрд▓реНрдп рдХреИрд╢ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкреВрд░реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдлрд┐рд░ рд╕реЗ accessData рд╕реЗ рдЕрд▓рдЧ рд╣реЛ accessData рдФрд░, рдлрд┐рд░ рд╕реЗ, getData рдЗрд╡реЗрдВрдЯ getData рдХреЙрд▓ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреИрд╢ рд╕реЗ рд╕рдмрдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд╕рд╛рде рд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рддрддреНрд╡ рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЦрддреНрдо рдХрд░ рджреЗрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо "рдбреЗрдЯрд╛-" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреИрд╢ рдореЗрдВ рднреА рд▓рд┐рдЦреЗрдВ, рдХреИрд╢ рдореЗрдВ parsedAttrs рдзреНрд╡рдЬ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛, рддрд╛рдХрд┐ рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЕрдЧрд▓реА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдЕрдм рдкреВрд░реА рди рд╣реЛред рдЬреБрджрд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖


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

рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд▓реЗрдЦ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рд░рд╛рдп рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рд╕рд╛рдордЧреНрд░реА рдЪрдХреНрд░


  1. рдкрд░рд┐рдЪрдп
  2. рдПрдЪрдЯреАрдПрдордПрд▓ рдкрд╛рд░реНрд╕рд┐рдВрдЧ
  3. рдЧреБрдг, рдЧреБрдг, рдбреЗрдЯрд╛

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


All Articles