рдбреЛрдо рд╡рд╕реНрддреБрдУрдВ рдХреЗ 15 рдЕрд▓реНрдк-рдЬреНрдЮрд╛рдд рдЧреБрдг рдФрд░ рд╡рд┐рдзрд┐рдпрд╛рдБ

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



HTML рдФрд░ DOM


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЪрд▓реЛ HTML рдФрд░ DOM рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рдпрдорд┐рдд <table< рддрддреНрд╡ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ HTML рдХреЛрдб рд╣реИред рдпрд╣ рддрддреНрд╡ html рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдЗрд╕рдХреА рдорджрдж рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрдбрд╝рд╛рдИ рд╕реЗ рдмреЛрд▓рддреЗ рд╣реБрдП, <table> рдЯреИрдЧ рдХрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рдореМрдЬреВрдж HTML рддрддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рд╕рдВрдмрдВрдз DOM (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред DOM, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╕реЗ HTML рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╡реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдереЗред

рд╕рднреА HTML рддрддреНрд╡реЛрдВ рдХреЗ рдЕрдкрдиреЗ "DOM рдЗрдВрдЯрд░рдлреЗрд╕" рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЧреБрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рд╡реЗ рдЖрдорддреМрд░ рдкрд░ HTML рддрддреНрд╡реЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ) рдФрд░ рддрд░реАрдХреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, <table> рддрддреНрд╡ рдореЗрдВ HTMLTableElement рдирд╛рдордХ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред

рдЖрдк рдПрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░:

 const searchBox = document.getElementById('search-box'); 

рддрддреНрд╡ рдХреЗ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдкрд╛рд╕ рдРрд╕реЗ рддрддреНрд╡реЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИ рдЬреЛ рдРрд╕реЗ рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдХреА value рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ searchBox рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд▓рд┐рдВрдХ рдХреЛ searchBox рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд░реНрд╕рд░ рдХреЛ рдЗрд╕рдХреЗ рдЦреЛрдЬ searchBox.focus() ред searchBox.focus() рд╡рд┐рдзрд┐ рд╕реЗ рдХреЙрд▓ рдХрд░ searchBox.focus() ред

рд╢рд╛рдпрдж рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдЕрдкрдиреЗ "рд╢реЙрд░реНрдЯ рдХреЛрд░реНрд╕ рдСрди рдбреЛрдо" рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, HTML рддрддреНрд╡реЛрдВ рдХреЗ рдбреЛрдо рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдЕрд▓реНрдк-рдЬреНрдЮрд╛рдд рдЧреБрдгреЛрдВ рдФрд░ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рддреБрд░рдВрдд рдкрдврд╝рдирд╛ рдФрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдЦреЛрд▓реЗрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреГрд╖реНрда рддрддреНрд╡ рдХрд╛ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ рддрддреНрд╡ рдЯреНрд░реА рдореЗрдВ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ $0 рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдВрд╕реЛрд▓ рдореЗрдВ dir($0) рдЯрд╛рдЗрдк рдХрд░реЗрдВред рдФрд░ рд╡реИрд╕реЗ, рдЕрдЧрд░ рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рдирдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХрдВрд╕реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдирдВрдмрд░ 1: рдЯреЗрдмрд▓ рдХреЗ рддрд░реАрдХреЗ


рдорд╛рдореВрд▓реА <table> рддрддреНрд╡ (рдЬреЛ рдЕрднреА рднреА рд╡реЗрдм рдкреЗрдЬ рд▓реЗрдЖрдЙрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдкрд╣рд▓рд╛ рд╕реНрдерд╛рди рд░рдЦрддрд╛ рд╣реИ) рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдПрдХ рдЙрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИред

рдпрд╣рд╛рдБ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВред

 const tableEl = document.querySelector('table'); const headerRow = tableEl.createTHead().insertRow(); headerRow.insertCell().textContent = 'Make'; headerRow.insertCell().textContent = 'Model'; headerRow.insertCell().textContent = 'Color'; const newRow = tableEl.insertRow(); newRow.insertCell().textContent = 'Yes'; newRow.insertCell().textContent = 'No'; newRow.insertCell().textContent = 'Thank you'; 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рд╣рдо document.createElement() рдЬреИрд╕реА рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ .insertRow() рд╡рд┐рдзрд┐, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕реАрдзреЗ рдЯреЗрдмрд▓ рдкрд░ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ <tbody> рдХреЛ рднреА рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред рдХреНрдпрд╛ рдпрд╣ рдЕрджреНрднреБрдд рдирд╣реАрдВ рд╣реИ?

# 2: scrollIntoView () рд╡рд┐рдзрд┐


рдЖрдк рд╢рд╛рдпрдж рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рд▓рд┐рдВрдХ рдореЗрдВ # рдирд┐рд░реНрдорд╛рдг рдЬреИрд╕рд╛ рдХреЛрдИ рдирд┐рд░реНрдорд╛рдг рд╣реИ, рддреЛ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд ID рд╕рд╛рде рддрддреНрд╡ рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдЧрд╛? рд╡рд┐рдзрд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмреНрдпрд╛рдЬ рдХрд╛ рддрддреНрд╡ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреИрдЯрд░реНрди рдХреЛ рд╕реНрд╡рдпрдВ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП:

 document.querySelector(document.location.hash).scrollIntoView(); 

рдирдВрдмрд░ 3: рдЫрд┐рдкреА рд╣реБрдИ рд╕рдВрдкрддреНрддрд┐


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

 myElement.style.display = 'none' 

рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд┐рд╕реА рддрддреНрд╡ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕рдХреА hidden рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП true рд▓рд┐рдЦреЗрдВ:

 myElement.hidden = true 

# 4: рдЯреЙрдЧрд▓ () рд╡рд┐рдзрд┐


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

 myElement.classList.toggle('some-class') 

рд╡реИрд╕реЗ, рдпрджрд┐ рдЖрдкрдиреЗ рдХрднреА рднреА рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХрдХреНрд╖рд╛рдПрдВ рдЬреЛрдбрд╝реА рд╣реИрдВ, рддреЛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдЕрдм рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдПрдВред toggle() рд╡рд┐рдзрд┐ рдХреЗ рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╣реА рддрдВрддреНрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдХ рдРрд╕реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬреЛ true рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреА true , рддреЛ рддрддреНрд╡ рдХреЛ toggle() рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рд╡рд░реНрдЧ toggle() рдХреЛ рддрддреНрд╡ рдореЗрдВ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

 el.classList.toggle('some-orange-class', theme === 'orange'); 

рд╢рд╛рдпрдж, рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдЗрд╕ рдбрд┐рдЬрд╛рдЗрди рдХреА рдкрд░реНрдпрд╛рдкреНрддрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо, "рдЯреЙрдЧрд▓", рдЬрд┐рд╕рдиреЗ рдЗрд╕ рддрдереНрдп рдХреЛ рджрд┐рдпрд╛ рдХрд┐ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рд╕рд╛рд░ рдЗрд╕рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ, рдХрд╛ рдЕрдиреБрд╡рд╛рдж "рд╕реНрд╡рд┐рдЪ" рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ рдХрд┐ "рд╕реНрд╡рд┐рдЪ" рдХрд╛ рдЕрд░реНрде рд╣реИ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреА рдкреВрд░реНрддрд┐ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдбрд┐рдЬрд╝рд╛рдЗрди рдЗрд╕ рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рднреА рд╢рд╛рдпрдж рдЗрд╕реЗ рдЕрдЬреАрдм рдорд╛рдирддреЗ рд╣реИрдВред toggle() рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ toggle() рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджреНрдпрдкрд┐ рдпрд╣ рдКрдкрд░ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЬреЛ рд▓реЛрдЧ toggle() рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ toggle() рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рднреА, рдирд╣реАрдВред

# 5: querySelector () рд╡рд┐рдзрд┐


рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк рдореЗрдВ рд╕реЗ 17% рдХреЛ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрдорд╛рдг myElement.querySelector('.my-class') рдХреЗрд╡рд▓ рдЙрди рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╡рд░реНрдЧ my-class рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ myElement рддрддреНрд╡ рдХреЗ рд╡рдВрд╢рдЬ рд╣реИрдВред

# 6: рдирд┐рдХрдЯрддрдо () рд╡рд┐рдзрд┐


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

 myElement.closest('article').querySelector('h1'); 

рдпрд╣рд╛рдВ, рдЦреЛрдЬ рдХреЗ рджреМрд░рд╛рди, рдкрд╣рд▓реЗ рдореВрд▓ рддрддреНрд╡ <article> рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ <article> рд╣реИ, рдФрд░ рдлрд┐рд░ рдкрд╣рд▓рд╛ рддрддреНрд╡ <h1> рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред

# 7: getBoundingClientRect () рд╡рд┐рдзрд┐


getBoundingClientRect() рд╡рд┐рдзрд┐ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдЬрд╛рдП рдЧрдП рдЫреЛрдЯреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЙрд╕ рддрддреНрд╡ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛ред

 { x: 604.875, y: 1312, width: 701.625, height: 31, top: 1312, right: 1306.5, bottom: 1343, left: 604.875 } 

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

  • рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкреГрд╖реНрда рдХрд╛ рдПрдХ рд░реАрдбреНрд░рд╛ рд╣реЛрддрд╛ рд╣реИред рдЙрд╕ рдЙрдкрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬрд┐рд╕ рдкрд░ рдкреГрд╖реНрда рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреГрд╖реНрда рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдкрд░, рдпрд╣ рдСрдкрд░реЗрд╢рди рдХрдИ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдХреБрдЫ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдиреАрдореЗрд╢рди рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╕рдордпред
  • рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

# 8: рдореИрдЪ () рд╡рд┐рдзрд┐


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдореЗрдВ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддрддреНрд╡ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд░реНрдЧ рд╣реИред

рдпрд╣рд╛рдБ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рдХрдард┐рди рддрд░реАрдХреЗ рд╕реЗ:

 if (myElement.className.indexOf('some-class') > -1) { //  -  } 

рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИ:

 if (myElement.className.includes('some-class')) { //  -  } 

рдФрд░ рдпрд╣рд╛рдБ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ:

 if (myElement.matches('.some-class')) { //  -  } 

# 9: InsertAdjacentElement () рд╡рд┐рдзрд┐


рдпрд╣ рд╡рд┐рдзрд┐ appendChild() рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╣рд╛рдВ рдмрд╛рд▓ рддрддреНрд╡ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛, рд╡рд╣рд╛рдВ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐ рджреЗрддрд╛ рд╣реИред

рддреЛ, рдХрдорд╛рдВрдб parentEl.insertAdjacentElement('beforeend', newEl) рдХрдорд╛рдВрдб parentEl.appendChild(newEl) рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди insertAdjacentElement() рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, beforeend рддрд░реНрдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЧреБрдЬрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ afterbegin , afterend рдФрд░ afterend рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВред

рдирдВрдмрд░ 10: рд╢рд╛рдорд┐рд▓ () рд╡рд┐рдзрд┐


рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рддрддреНрд╡ рджреВрд╕рд░реЗ рдХреЗ рдЕрдВрджрд░ рд╣реИ? рдореБрдЭреЗ рдЗрд╕рдХреА рд╣рд░ рд╕рдордп рдЬрд░реВрд░рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдорд╛рдЙрд╕ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рдЕрдВрджрд░ рд╣реБрдЖ рд╣реИ рдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рд╣рд░ (рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рдЖрдк рдирд┐рдореНрди рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 const handleClick = e => { if (!modalEl.contains(e.target)) modalEl.hidden = true; }; 

рдпрд╣рд╛рдБ modalEl рдПрдХ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдХрд╛ рд▓рд┐рдВрдХ рд╣реИ, рдФрд░ e.target рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдореИрдВ рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдкрд╣рд▓реА рдмрд╛рд░ рд╕рдмрдХреБрдЫ рд╕рд╣реА рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрднреА рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдореИрдВ рд▓рдЧрд╛рддрд╛рд░ рдЧрд▓рдд рд╣реВрдВ рдФрд░ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред

# 11: getAttribute () рд╡рд┐рдзрд┐


рд╢рд╛рдпрдж рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рд╕рдмрд╕реЗ рдмреЗрдХрд╛рд░ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИред

рдпрд╛рдж рд░рдЦреЗрдВ, рд╣рдордиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдбреЛрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЧреБрдг рдЖрдорддреМрд░ рдкрд░ HTML рддрддреНрд╡реЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ?

рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬрдм рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ href рд╡рд┐рд╢реЗрд╖рддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣рд╛рдБ: <a href="/animals/cat">Cat</a> ред

el.href рдирд┐рд░реНрдорд╛рдг рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрдПрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, /animals/cat ред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ <a> рддрддреНрд╡ HTMLHyperlinkElementUtils рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ protocol рдФрд░ hash рдЬреИрд╕реЗ рдХрдИ рд╕рд╣рд╛рдпрдХ рдЧреБрдг рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд▓рд┐рдВрдХ рдХреЗ рд╡рд┐рд╡рд░рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░рддреЗ рд╣реИрдВред
рдЗрди рд╕рд╣рд╛рдпрдХ рдЧреБрдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ href рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реИ, рдЬреЛ рдПрдХ рдкреВрд░реНрдг URL рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд URL рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕реЗ href рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ el.getAttribute('href') рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рдВрдЦреНрдпрд╛ 12: <рд╕рдВрд╡рд╛рдж> рддрддреНрд╡ рдХреЗ рддреАрди рддрд░реАрдХреЗ


рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдирдпрд╛ <dialog> рддрддреНрд╡ рдореЗрдВ рджреЛ рдЙрдкрдпреЛрдЧреА, рд▓реЗрдХрд┐рди рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рд╡рд┐рдзрд┐ рдЬрд┐рд╕реЗ рдмрд╕ рдЕрджреНрднреБрдд рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддреЛ, show() рдФрд░ close() рд╡рд┐рдзрд┐рдпрд╛рдВ рдареАрдХ рд╡рд╣реА рдХрд░рддреА рд╣реИрдВ рдЬреЛ рдЖрдк рдЙрдирд╕реЗ рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛ рдФрд░ рдЫрд┐рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧреА, рд▓реЗрдХрд┐рди рд╕рд╛рдзрд╛рд░рдг рдХрд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди showModal() рд╡рд┐рдзрд┐ рдЦрд┐рдбрд╝рдХреА рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдмрд╛рдХреА рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рдКрдкрд░ <dialog> рддрддреНрд╡ рджрд┐рдЦрд╛рдПрдЧрд╛ред рддрдереНрдп рдХреА рдмрд╛рдд рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЖрдорддреМрд░ рдкрд░ рдореЛрдбрд▓ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рд╕реЗ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИред рдРрд╕реЗ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ z-index рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдзреБрдВрдзрд▓реА рдкреГрд╖реНрдарднреВрдорд┐ рдЬреЛрдбрд╝реЗрдВ, рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдВрдбреЛ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Escape рдХреБрдВрдЬреА рджрдмрд╛рдиреЗ рдХреА рдШрдЯрдирд╛ рдХреЛ рд╕реБрдиреЗрдВред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдХреЛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░реЗ рдЬреИрд╕рд╛ рдЙрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

# 13: forEach () рд╡рд┐рдзрд┐


рдХрднреА-рдХрднреА, рдЬрдм рдЖрдкрдХреЛ рддрддреНрд╡реЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рд▓рд┐рдВрдХ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрди рддрддреНрд╡реЛрдВ рдХреЛ forEach() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ forEach() рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЗ for() рд▓реВрдкреНрд╕ рдХрд▓ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдореЗрдВ рд▓реЙрдЧ рдореЗрдВ рдкреГрд╖реНрда рд╕реЗ рд╕рднреА <a> рддрддреНрд╡реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗ:

 document.getElementsByTagName('a').forEach(el => {   console.log(el.href); }); 

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрди рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 document.querySelectorAll('a').forEach(el => {   console.log(el.href); }); 

рдпрд╣рд╛рдБ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ getElementsByTagName() рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ HTMLCollection рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ HTMLCollection , рдФрд░ querySelectorAll рдСрдмреНрдЬреЗрдХреНрдЯ querySelectorAll ред рдпрд╣ NodeList рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬреЛ рд╣рдореЗрдВ forEach() рд╡рд┐рдзрд┐ (рдФрд░ keys() рд▓рд┐рдП рднреА keys() , values() рдФрд░ entries() рд╡рд┐рдзрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд░реАрдХреЗ рдмрд╕ рд╕рд╛рдорд╛рдиреНрдп рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕реА рдкреЗрд╢рдХрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрдкрдпреЛрдЧреА рддрд░реАрдХреЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдХрд╛рдлреА рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рддрд░рд╣ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдкрд░реЗрд╢рд╛рди рдордд рд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ ECMA рдХреЗ рд╕реНрдорд╛рд░реНрдЯ рд▓реЛрдЧреЛрдВ рдиреЗ рд╣рдореЗрдВ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рджрд┐рдпрд╛ - Array.from() , рдЬреЛ рд╣рдореЗрдВ рдЙрди рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИрдВред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

 Array.from(document.getElementsByTagName('a')).forEach(el => {   console.log(el.href); }); 

рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рдЕрдЪреНрдЫреА рдЫреЛрдЯреА рд╕реА рдмрд╛рдд рд╣реИред рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдмрджрд▓рдХрд░ рдЬреЛ рдкрд╣рд▓реЗ рдЬреИрд╕рд╛ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛, рд╣рдореЗрдВ рдХрдИ рд╕рд░рдгреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ map() , filter() рдФрд░ reduce() ред рдпрд╣рд╛рдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреГрд╖реНрда рдкрд░ рдмрд╛рд╣рд░реА рд▓рд┐рдВрдХ рдХреА рдПрдХ рд╕рд░рдгреА рдХреИрд╕реЗ рдмрдирд╛рдПрдВ:

 Array.from(document.querySelectorAll('a')) .map(el => el.origin) .filter(origin => origin !== document.origin) .filter(Boolean); 

рд╡реИрд╕реЗ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .filter(Boolean) рдирд┐рд░реНрдорд╛рдг рдкрд╕рдВрдж рдХрд░рддрд╛ .filter(Boolean) рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдореИрдВ рдЗрд╕реЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдорд┐рд▓реЗ рдХреЛрдб рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╢рд╛рдпрдж рд╣реА рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВред

рдирдВрдмрд░ 14: рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ


рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ <form> рддрддреНрд╡ рдореЗрдВ рдПрдХ submit() рд╡рд┐рдзрд┐ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрдо рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рдкрддреНрд░реЛрдВ рдореЗрдВ рдПрдХ reset() рд╡рд┐рдзрд┐ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ reportValidity() рд╡рд┐рдзрд┐ рд╣реИ, рдЬреЛ рддрдм рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ рдЬрдм рдлреЙрд░реНрдо рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рднрд░рдиреЗ рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЙрдирдХреА elements рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЖрдкрдХреЛ рдЙрдирдХреЗ name рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╛рд░реНрдо рддрддреНрд╡реЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, myFormEl.elements.email рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди <input name="email" /> рдПрд▓рд┐рдореЗрдВрдЯ рдлреЙрд░реНрдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдЧрд╛ ("рд╕рдВрдмрдВрдзрд┐рдд" рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ "рд╡рдВрд╢рдЬ рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ")ред

рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ elements рд╕рдВрдкрддреНрддрд┐ рд╕реНрд╡рдпрдВ рд╕рд╛рдорд╛рдиреНрдп рддрддреНрд╡реЛрдВ рдХреА рд╕реВрдЪреА рдирд╣реАрдВ рд▓реМрдЯрд╛рддреА рд╣реИред рдпрд╣ рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ (рдФрд░ рдпрд╣ рд╕реВрдЪреА, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдПрдХ рд╕рд░рдгреА рдирд╣реАрдВ рд╣реИ)ред

рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпрджрд┐ рдкреНрд░рдкрддреНрд░ рдкрд░ рддреАрди рд░реЗрдбрд┐рдпреЛ рдмрдЯрди рд╣реИрдВ рдФрд░ рдЙрди рд╕рднреА рдХрд╛ рдирд╛рдо ( animal ) рд╕рдорд╛рди рд╣реИ, рддреЛ formEl.elements.animal рдирд┐рд░реНрдорд╛рдг рд░реЗрдбрд┐рдпреЛ рдмрдЯрди (1 рдирд┐рдпрдВрддреНрд░рдг, 3 HTML рддрддреНрд╡реЛрдВ) рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдПрдХ рд▓рд┐рдВрдХ рджреЗрдЧрд╛ред рдФрд░ рдпрджрд┐ рдЖрдк рдбрд┐рдЬрд╝рд╛рдЗрди formEl.elements.animal.value рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рд░реЗрдбрд┐рдпреЛ рдмрдЯрди рдХрд╛ рдореВрд▓реНрдп рджреЗрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдм рдмрд╣реБрдд рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдЪрд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ:

  • formEl рдПрдХ рддрддреНрд╡ рд╣реИред
  • elements рдПрдХ HTMLFormControlsCollection рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рдПрдХ рд╕рд░рдгреА рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рддрддреНрд╡ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ HTML рддрддреНрд╡ рдирд╣реАрдВ рд╣реИрдВред
  • animal рдХрдИ рд░реЗрдбрд┐рдпреЛ рдмрдЯрди рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЙрди рд╕рднреА рдореЗрдВ рдПрдХ рд╣реА name рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ (рд░реЗрдбрд┐рдпреЛ рдмрдЯрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рд░реЗрдбрд┐рдпреЛрдиреЛрдбрд▓рд┐рд╕реНрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ)ред
  • value рдЙрдкрдпреЛрдЧ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд░реЗрдбрд┐рдпреЛ рдмрдЯрди рдХреЗ value рд╡рд┐рд╢реЗрд╖рддрд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

# 15: рдЪрдпрди () рд╡рд┐рдзрд┐


рд╢рд╛рдпрдж рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдВрдд рдореЗрдВ рдпрд╣ рдХреБрдЫ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╢рд╛рдпрдж рдпрд╣ рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд╣рд╕реНрдпреЛрджреНрдШрд╛рдЯрди рд╣реЛрдЧреАред рддреЛ, .select() рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкрд╛рда рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдо


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдЕрд▓реНрдкрдЬреНрдЮрд╛рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣рд╛рдВ рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рдирдпрд╛ рдкрд╛рдпрд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рди рдХреЗрд╡рд▓ рдирдпрд╛, рдмрд▓реНрдХрд┐ рдЙрдкрдпреЛрдЧреА рднреА рд╣реЛред

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреНрдпрд╛ рдЖрдк рд╡реЗрдм рдкреЗрдЬреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рдХрд┐рд╕реА рднреА рдорд╛рдзреНрдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИрдВ?

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


All Articles