ÐÑновой HTML-докÑменÑа ÑвлÑÑÑÑÑ Ñеги.
Ð ÑооÑвеÑÑÑвии Ñ Ð¾Ð±ÑекÑной моделÑÑ Ð´Ð¾ÐºÑменÑа («Document Object Model», коÑоÑко DOM), каждÑй HTML-Ñег ÑвлÑеÑÑÑ Ð¾Ð±ÑекÑом. ÐложеннÑе Ñеги ÑвлÑÑÑÑÑ Â«Ð´ÐµÑÑми» ÑодиÑелÑÑкого ÑлеменÑа. ТекÑÑ, коÑоÑÑй Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð²Ð½ÑÑÑи Ñега, Ñакже ÑвлÑеÑÑÑ Ð¾Ð±ÑекÑом.
ÐÑе ÑÑи обÑекÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ð¿Ñи помоÑи JavaScript, Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ иÑполÑзоваÑÑ Ð¸Ñ Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑÑаниÑÑ.
ÐапÑимеÑ, document.body â обÑÐµÐºÑ Ð´Ð»Ñ Ñега <body>.
ÐÑли запÑÑÑиÑÑ ÑÑÐ¾Ñ ÐºÐ¾Ð´, Ñо <body> ÑÑÐ°Ð½ÐµÑ ÐºÑаÑнÑм на 3 ÑекÑндÑ:
document.body.style.background = 'red'; // ÑделаÑÑ Ñон кÑаÑнÑм
setTimeout(() => document.body.style.background = '', 3000); // веÑнÑÑÑ Ð½Ð°Ð·Ð°Ð´
ÐÑо бÑл лиÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑой пÑÐ¸Ð¼ÐµÑ Ñого, ÑÑо Ð¼Ð¾Ð¶ÐµÑ DOM. СкоÑо Ð¼Ñ Ð¸Ð·ÑÑим много ÑпоÑобов ÑабоÑаÑÑ Ñ DOM, но ÑнаÑала нÑжно познакомиÑÑÑÑ Ñ ÐµÐ³Ð¾ ÑÑÑÑкÑÑÑой.
ÐÑÐ¸Ð¼ÐµÑ DOM
ÐаÑнÑм Ñ Ñакого, пÑоÑÑого, докÑменÑа:
<!DOCTYPE HTML>
<html>
<head>
<title>РлоÑÑÑ
</title>
</head>
<body>
ÐÑавда о лоÑÑÑ
.
</body>
</html>
DOM â ÑÑо пÑедÑÑавление HTML-докÑменÑа в виде деÑева Ñегов. ÐÐ¾Ñ ÐºÐ°Ðº оно вÑглÑдиÑ:
Ðа ÑиÑÑнке вÑÑе ÑзлÑ-ÑлеменÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ кликаÑÑ, и Ð¸Ñ Ð´ÐµÑи бÑдÑÑ ÑкÑÑваÑÑÑÑ Ð¸ ÑаÑкÑÑваÑÑÑÑ.
ÐаждÑй Ñзел ÑÑого деÑева â ÑÑо обÑекÑ.
Теги ÑвлÑÑÑÑÑ Ñзлами-ÑлеменÑами (или пÑоÑÑо ÑлеменÑами). Ðни обÑазÑÑÑ ÑÑÑÑкÑÑÑÑ Ð´ÐµÑева: <html> â ÑÑо коÑневой Ñзел, <head> и <body> его доÑеÑние ÑÐ·Ð»Ñ Ð¸ Ñ.д.
ТекÑÑ Ð²Ð½ÑÑÑи ÑлеменÑов обÑазÑÐµÑ ÑекÑÑовÑе ÑзлÑ, обознаÑеннÑе как #text. ТекÑÑовÑй Ñзел ÑодеÑÐ¶Ð¸Ñ Ð² Ñебе ÑолÑко ÑÑÑÐ¾ÐºÑ ÑекÑÑа. У него не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ñомков, Ñ.е. он наÑ
одиÑÑÑ Ð²Ñегда на Ñамом нижнем ÑÑовне.
ÐапÑимеÑ, в Ñеге <title> еÑÑÑ ÑекÑÑовÑй Ñзел "РлоÑÑÑ
".
ÐбÑаÑиÑе внимание на ÑпеÑиалÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð² ÑекÑÑовÑÑ ÑÐ·Ð»Ð°Ñ :
- пеÑевод ÑÑÑоки:
âµ(в JavaScript он обознаÑаеÑÑÑ ÐºÐ°Ðº\n) - пÑобел:
â£
ÐÑÐ¾Ð±ÐµÐ»Ñ Ð¸ пеÑÐµÐ²Ð¾Ð´Ñ ÑÑÑоки â ÑÑо полнопÑавнÑе ÑимволÑ, как бÑÐºÐ²Ñ Ð¸ ÑиÑÑÑ. Ðни обÑазÑÑÑ ÑекÑÑовÑе ÑÐ·Ð»Ñ Ð¸ ÑÑановÑÑÑÑ ÑаÑÑÑÑ Ð´ÐµÑева DOM. Так, в пÑимеÑе вÑÑе в Ñеге <head> еÑÑÑ Ð½ÐµÑколÑко пÑобелов пеÑед <title>, коÑоÑÑе обÑазÑÑÑ ÑекÑÑовÑй Ñзел #text (он ÑодеÑÐ¶Ð¸Ñ Ð² Ñебе ÑолÑко пеÑÐµÐ½Ð¾Ñ ÑÑÑоки и неÑколÑко пÑобелов).
СÑÑеÑÑвÑÐµÑ Ð²Ñего два иÑклÑÑÐµÐ½Ð¸Ñ Ð¸Ð· ÑÑого пÑавила:
- Ðо иÑÑоÑиÑеÑким пÑиÑинам пÑÐ¾Ð±ÐµÐ»Ñ Ð¸ пеÑевод ÑÑÑоки пеÑед Ñегом
<head>игноÑиÑÑÑÑÑÑ - ÐÑли Ð¼Ñ Ð·Ð°Ð¿Ð¸ÑÑваем ÑÑо-либо поÑле закÑÑваÑÑего Ñега
</body>, бÑаÑÐ·ÐµÑ Ð°Ð²ÑомаÑиÑеÑки пеÑемеÑÐ°ÐµÑ ÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð² конеÑbody, поÑколÑÐºÑ ÑпеÑиÑикаÑÐ¸Ñ HTML ÑÑебÑеÑ, ÑÑÐ¾Ð±Ñ Ð²ÑÑ ÑодеÑжимое бÑло внÑÑÑи<body>. ÐоÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ñле закÑÑваÑÑего Ñега</body>не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð¿Ñобелов.
РоÑÑалÑнÑÑ ÑлÑÑаÑÑ Ð²ÑÑ Ð¿ÑоÑÑо â еÑли в докÑменÑе еÑÑÑ Ð¿ÑÐ¾Ð±ÐµÐ»Ñ (или лÑбÑе дÑÑгие ÑимволÑ), они ÑÑановÑÑÑÑ ÑекÑÑовÑми Ñзлами деÑева DOM, и еÑли Ð¼Ñ Ð¸Ñ Ñдалим, Ñо в DOM Ð¸Ñ Ñоже не бÑдеÑ.
ÐдеÑÑ Ð¿ÑобелÑнÑÑ ÑекÑÑовÑÑ Ñзлов неÑ:
<!DOCTYPE HTML>
<html><head><title>РлоÑÑÑ
</title></head><body>ÐÑавда о лоÑÑÑ
.</body></html>
Ðогда Ð¼Ñ ÑабоÑаем Ñ Ð´ÐµÑевом DOM, иÑполÑзÑÑ Ð¸Ð½ÑÑÑÑменÑÑ ÑазÑабоÑÑика в бÑаÑзеÑе (коÑоÑÑе Ð¼Ñ ÑаÑÑмоÑÑим позже), пÑÐ¾Ð±ÐµÐ»Ñ Ð² наÑале/конÑе ÑекÑÑа и пÑÑÑÑе ÑекÑÑовÑе ÑÐ·Ð»Ñ (пеÑеноÑÑ ÑÑÑок) Ð¼ÐµÐ¶Ð´Ñ Ñегами обÑÑно не оÑобÑажаÑÑÑÑ.
Таким обÑазом инÑÑÑÑменÑÑ ÑазÑабоÑки ÑкономÑÑ Ð¼ÐµÑÑо на ÑкÑане.
РдалÑнейÑÐ¸Ñ Ð¸Ð»Ð»ÑÑÑÑаÑиÑÑ DOM Ð¼Ñ Ñакже бÑдем Ð´Ð»Ñ ÐºÑаÑкоÑÑи пÑопÑÑкаÑÑ Ð¿ÑобелÑнÑе ÑекÑÑовÑе ÑÐ·Ð»Ñ Ñам, где они не имеÑÑ Ð·Ð½Ð°ÑениÑ. ÐбÑÑно они не влиÑÑÑ Ð½Ð° Ñо, как оÑобÑажаеÑÑÑ Ð´Ð¾ÐºÑменÑ.
ÐвÑоиÑпÑавление
ÐÑли бÑаÑÐ·ÐµÑ ÑÑалкиваеÑÑÑ Ñ Ð½ÐµÐºÐ¾ÑÑекÑно напиÑаннÑм HTML-кодом, он авÑомаÑиÑеÑки коÑÑекÑиÑÑÐµÑ ÐµÐ³Ð¾ пÑи поÑÑÑоении DOM.
ÐапÑимеÑ, в наÑале докÑменÑа вÑегда должен бÑÑÑ Ñег <html>. Ðаже еÑли его Ð½ÐµÑ Ð² докÑменÑе â он бÑÐ´ÐµÑ Ð² деÑеве DOM, бÑаÑÐ·ÐµÑ ÐµÐ³Ð¾ ÑоздаÑÑ. То же Ñамое каÑаеÑÑÑ Ð¸ Ñега <body>.
ÐапÑимеÑ, еÑли HTML-Ñайл ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· единÑÑвенного Ñлова "ÐÑивеÑ", бÑаÑÐ·ÐµÑ Ð¾Ð±ÐµÑнÑÑ ÐµÐ³Ð¾ в Ñеги <html> и <body>, Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ
одимÑй Ñег <head>, и DOM бÑÐ´ÐµÑ Ð²ÑглÑдеÑÑ Ñак:
ÐÑи генеÑаÑии DOM бÑаÑÐ·ÐµÑ ÑамоÑÑоÑÑелÑно обÑабаÑÑÐ²Ð°ÐµÑ Ð¾Ñибки в докÑменÑе, закÑÑÐ²Ð°ÐµÑ Ñеги и Ñак далее.
ÐÑÑÑ Ñакой докÑÐ¼ÐµÐ½Ñ Ñ Ð½ÐµÐ·Ð°ÐºÑÑÑÑми Ñегами:
<p>ÐÑивеÑ
<li>Ðама
<li>и
<li>Ðапа
â¦Ðо DOM бÑÐ´ÐµÑ Ð½Ð¾ÑмалÑнÑм, поÑÐ¾Ð¼Ñ ÑÑо бÑаÑÐ·ÐµÑ Ñам закÑÐ¾ÐµÑ Ñеги и воÑÑÑÐ°Ð½Ð¾Ð²Ð¸Ñ Ð¾ÑÑÑÑÑÑвÑÑÑие деÑали:
<tbody>ÐажнÑй «оÑобÑй ÑлÑÑай» â ÑабоÑа Ñ ÑаблиÑами. Ðо ÑÑандаÑÑÑ DOM Ñ Ð½Ð¸Ñ
должен бÑÑÑ <tbody>, но в HTML иÑ
можно напиÑаÑÑ (оÑиÑиалÑно) без него. Ð ÑÑом ÑлÑÑае бÑаÑÐ·ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÐµÑ <tbody> в DOM ÑамоÑÑоÑÑелÑно.
ÐÐ»Ñ Ñакого HTML:
<table id="table"><tr><td>1</td></tr></table>
DOM-ÑÑÑÑкÑÑÑа бÑÐ´ÐµÑ Ñакой:
ÐидиÑе? Ðз пÑÑÑоÑÑ Ð¿Ð¾ÑвилÑÑ <tbody>, как бÑдÑо докÑÐ¼ÐµÐ½Ñ Ð¸ бÑл Ñаким. Ðажно знаÑÑ Ð¾Ð± ÑÑом, инаÑе пÑи ÑабоÑе Ñ ÑаблиÑами Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ ÑÑÑпÑизÑ.
ÐÑÑгие ÑÐ¸Ð¿Ñ Ñзлов
ÐÑÑÑ Ð¸ некоÑоÑÑе дÑÑгие ÑÐ¸Ð¿Ñ Ñзлов, кÑоме ÑлеменÑов и ÑекÑÑовÑÑ Ñзлов.
ÐапÑимеÑ, Ñзел-комменÑаÑий:
<!DOCTYPE HTML>
<html>
<body>
ÐÑавда о лоÑÑÑ
.
<ol>
<li>ÐоÑÑ -- живоÑное Ñ
иÑÑое</li>
<!-- комменÑаÑий -->
<li>...и коваÑное!</li>
</ol>
</body>
</html>
ÐдеÑÑ Ð¼Ñ Ð²Ð¸Ð´Ð¸Ð¼ Ñзел нового Ñипа â комменÑаÑий, обознаÑеннÑй как #comment, Ð¼ÐµÐ¶Ð´Ñ Ð´Ð²ÑÐ¼Ñ ÑекÑÑовÑми Ñзлами.
ÐазалоÑÑ Ð±Ñ â заÑем комменÑаÑий в DOM? Ðн никак не влиÑÐµÑ Ð½Ð° визÑалÑное оÑобÑажение. Ðо еÑÑÑ Ð²Ð°Ð¶Ð½Ð¾Ðµ пÑавило: еÑли ÑÑо-Ñо еÑÑÑ Ð² HTML, Ñо оно должно бÑÑÑ Ð² DOM-деÑеве.
ÐÑе, ÑÑо еÑÑÑ Ð² HTML, даже комменÑаÑии, ÑвлÑеÑÑÑ ÑаÑÑÑÑ DOM.
Ðаже диÑекÑива <!DOCTYPE...>, коÑоÑÑÑ Ð¼Ñ ÑÑавим в наÑале HTML, Ñоже ÑвлÑеÑÑÑ DOM-Ñзлом. Ðна наÑ
одиÑÑÑ Ð² деÑеве DOM пÑÑмо пеÑед <html>. ÐÑ Ð½Ðµ бÑдем ÑаÑÑмаÑÑиваÑÑ ÑÑÐ¾Ñ Ñзел, Ð¼Ñ Ð´Ð°Ð¶Ðµ не ÑиÑÑем его на наÑиÑ
диагÑаммаÑ
, но он ÑÑÑеÑÑвÑеÑ.
Ðаже обÑÐµÐºÑ document, пÑедÑÑавлÑÑÑий веÑÑ Ð´Ð¾ÐºÑменÑ, ÑоÑмалÑно ÑвлÑеÑÑÑ DOM-Ñзлом.
СÑÑеÑÑвÑÐµÑ 12 Ñипов Ñзлов. Ðо на пÑакÑике Ð¼Ñ Ð² оÑновном ÑабоÑаем Ñ 4 из Ð½Ð¸Ñ :
documentâ Â«Ð²Ñ Ð¾Ð´Ð½Ð°Ñ ÑоÑка» в DOM.- ÑзлÑ-ÑлеменÑÑ â HTML-Ñеги, оÑновнÑе ÑÑÑоиÑелÑнÑе блоки.
- ÑекÑÑовÑе ÑÐ·Ð»Ñ â ÑодеÑÐ¶Ð°Ñ ÑекÑÑ.
- комменÑаÑии â иногда в Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ вклÑÑиÑÑ Ð¸Ð½ÑоÑмаÑиÑ, коÑоÑÐ°Ñ Ð½Ðµ бÑÐ´ÐµÑ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð°, но доÑÑÑпна в DOM Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ JS.
ÐоÑкÑпеÑименÑиÑÑйÑе Ñами
ЧÑÐ¾Ð±Ñ Ð¿Ð¾ÑмоÑÑеÑÑ ÑÑÑÑкÑÑÑÑ DOM в ÑеалÑном вÑемени, попÑобÑйÑе Live DOM Viewer. ÐÑоÑÑо введиÑе ÑÑо-нибÑÐ´Ñ Ð² поле, и ниже Ð²Ñ ÑвидиÑе, как менÑеÑÑÑ DOM.
ÐÑÑгой ÑпоÑоб иÑÑледоваÑÑ DOM â ÑÑо иÑполÑзоваÑÑ Ð¸Ð½ÑÑÑÑменÑÑ ÑазÑабоÑÑика бÑаÑзеÑа. ÐÑо Ñо, ÑÑо Ð¼Ñ ÐºÐ°Ð¶Ð´Ñй Ð´ÐµÐ½Ñ Ð´ÐµÐ»Ð°ÐµÐ¼ пÑи ÑазÑабоÑке.
ÐÐ»Ñ ÑÑого оÑкÑойÑе ÑÑÑаниÑÑ elks.html, вклÑÑиÑе инÑÑÑÑменÑÑ ÑазÑабоÑÑика и пеÑейдиÑе на Ð²ÐºÐ»Ð°Ð´ÐºÑ Elements.
ÐÑглÑÐ´Ð¸Ñ Ð¿ÑимеÑно Ñак:
ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑвидеÑÑ DOM, понажимаÑÑ Ð½Ð° ÑлеменÑÑ, деÑалÑно ÑаÑÑмоÑÑеÑÑ Ð¸Ñ Ð¸ Ñак далее.
ÐбÑаÑиÑе внимание, ÑÑо ÑÑÑÑкÑÑÑа DOM в инÑÑÑÑменÑÐ°Ñ ÑазÑабоÑÑика оÑобÑажаеÑÑÑ Ð² ÑпÑоÑÑнном виде. ТекÑÑовÑе ÑÐ·Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ ÐºÐ°Ðº пÑоÑÑой ÑекÑÑ. РкÑоме пÑобелов Ð½ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Â«Ð¿ÑÑÑÑÑ Â» ÑекÑÑовÑÑ Ñзлов. ÐÑ Ð¸ оÑлиÑно, поÑÐ¾Ð¼Ñ ÑÑо болÑÑÑÑ ÑаÑÑÑ Ð²Ñемени Ð½Ð°Ñ Ð±ÑдÑÑ Ð¸Ð½ÑеÑеÑоваÑÑ ÑзлÑ-ÑлеменÑÑ.
Ðлик по ÑÑой кнопке в левом веÑÑ Ð½ÐµÐ¼ ÑÐ³Ð»Ñ Ð¸Ð½ÑпекÑоÑа позволÑÐµÑ Ð¿Ñи помоÑи мÑÑи (или дÑÑгого ÑÑÑÑойÑÑва ввода) вÑбÑаÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð½Ð° веб-ÑÑÑаниÑе и «пÑоинÑпекÑиÑоваÑÑ» его (бÑаÑÐ·ÐµÑ Ñам найдÑÑ Ð¸ оÑмеÑÐ¸Ñ ÐµÐ³Ð¾ во вкладке Elements). ÐÑÐ¾Ñ ÑпоÑоб оÑлиÑно Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ, когда Ñ Ð½Ð°Ñ Ð¾Ð³ÑÐ¾Ð¼Ð½Ð°Ñ HTML-ÑÑÑаниÑа (и ÑооÑвеÑÑÑвÑÑÑий ей огÑомнÑй DOM), и Ð¼Ñ Ñ Ð¾Ñим ÑвидеÑÑ, где Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð¸Ð½ÑеÑеÑÑÑÑий Ð½Ð°Ñ ÑлеменÑ.
ÐÑÑÑ Ð¸ дÑÑгой ÑпоÑоб ÑделаÑÑ ÑÑо: можно кликнÑÑÑ Ð½Ð° ÑÑÑаниÑе по ÑлеменÑÑ Ð¿Ñавой кнопкой мÑÑи и в конÑекÑÑном Ð¼ÐµÐ½Ñ Ð²ÑбÑаÑÑ Â«Inspect».
РпÑавой ÑаÑÑи инÑÑÑÑменÑов ÑазÑабоÑÑика Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ ÑледÑÑÑие подÑазделÑ:
- Styles â здеÑÑ Ð¼Ñ Ð²Ð¸Ð´Ð¸Ð¼ CSS, пÑименÑннÑй к ÑекÑÑÐµÐ¼Ñ ÑлеменÑÑ: пÑавило за пÑавилом, вклÑÑÐ°Ñ Ð²ÑÑÑоеннÑе ÑÑили (вÑÐ´ÐµÐ»ÐµÐ½Ñ ÑеÑÑм). ÐоÑÑи вÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ оÑÑедакÑиÑоваÑÑ Ð½Ð° меÑÑе, вклÑÑÐ°Ñ ÑазмеÑÑ, внеÑние и внÑÑÑенние оÑÑÑÑпÑ.
- Computed â здеÑÑ Ð¼Ñ Ð²Ð¸Ð´Ð¸Ð¼ иÑоговÑе CSS-ÑвойÑÑва ÑлеменÑа, коÑоÑÑе он пÑиобÑÑл в ÑезÑлÑÑаÑе пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ñего каÑкада ÑÑилей (в Ñом ÑиÑле ÑнаÑледованнÑе ÑвойÑÑва и Ñ.д.).
- Event Listeners â в ÑÑом Ñазделе Ð¼Ñ Ð²Ð¸Ð´Ð¸Ð¼ обÑабоÑÑики ÑобÑÑий, пÑивÑзаннÑе к DOM-ÑлеменÑам (Ð¼Ñ Ð¿Ð¾Ð³Ð¾Ð²Ð¾Ñим о Ð½Ð¸Ñ Ð² ÑледÑÑÑей ÑаÑÑи ÑÑебника).
- ⦠и Ñ.д.
ÐÑÑÑий ÑпоÑоб изÑÑиÑÑ Ð¸Ð½ÑÑÑÑменÑÑ ÑазÑабоÑÑика â ÑÑо пÑокликаÑÑ Ð¸Ñ . ÐолÑÑинÑÑво знаÑений можно менÑÑÑ Ð¸ ÑÑÑ Ð¶Ðµ ÑмоÑÑеÑÑ ÑезÑлÑÑаÑ.
ÐзаимодейÑÑвие Ñ ÐºÐ¾Ð½ÑолÑÑ
ÐÑи ÑабоÑе Ñ DOM нам ÑаÑÑо ÑÑебÑеÑÑÑ Ð¿ÑимениÑÑ Ðº Ð½ÐµÐ¼Ñ JavaScript. ÐапÑимеÑ: полÑÑиÑÑ Ñзел и запÑÑÑиÑÑ ÐºÐ°ÐºÐ¾Ð¹-нибÑÐ´Ñ ÐºÐ¾Ð´ Ð´Ð»Ñ ÐµÐ³Ð¾ изменениÑ, ÑÑÐ¾Ð±Ñ Ð¿Ð¾ÑмоÑÑеÑÑ ÑезÑлÑÑаÑ. ÐÐ¾Ñ Ð½ÐµÑколÑко подÑказок, как пеÑемеÑаÑÑÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°Ð¼Ð¸ Elements и Console.
ÐÐ»Ñ Ð½Ð°Ñала:
- Ðа вкладке Elements вÑбеÑиÑе пеÑвÑй ÑлеменÑ
<li>. - ÐажмиÑе Esc â пÑÑмо под вкладкой Elements оÑкÑоеÑÑÑ Console.
ÐоÑледний ÑлеменÑ, вÑбÑаннÑй во вкладке Elements, доÑÑÑпен в конÑоли как $0; пÑедÑдÑÑий, вÑбÑаннÑй до него, как $1 и Ñ.д.
ТепеÑÑ Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ запÑÑкаÑÑ Ð½Ð° ниÑ
командÑ. ÐапÑÐ¸Ð¼ÐµÑ $0.style.background = 'red' ÑÐ´ÐµÐ»Ð°ÐµÑ Ð²ÑбÑаннÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÐºÑаÑнÑм, как здеÑÑ:
ÐÑо Ð¼Ñ Ð¿Ð¾ÑмоÑÑели как полÑÑиÑÑ Ñзел из Elements в Console.
ÐÑÑÑ Ð¸ обÑаÑнÑй пÑÑÑ: еÑли еÑÑÑ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ node, ÑÑÑлаÑÑаÑÑÑ Ð½Ð° DOM-Ñзел, можно иÑполÑзоваÑÑ Ð² конÑоли ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ inspect(node), ÑÑÐ¾Ð±Ñ ÑвидеÑÑ ÑÑÐ¾Ñ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð²Ð¾ вкладке Elements.
Ðли Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ пÑоÑÑо вÑвеÑÑи DOM-Ñзел в конÑÐ¾Ð»Ñ Ð¸ иÑÑледоваÑÑ Â«Ð½Ð° меÑÑе», как document.body ниже:
ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð´Ð»Ñ Ð¾Ñладки. Ð ÑледÑÑÑей главе Ð¼Ñ ÑаÑÑмоÑÑим доÑÑÑп и изменение DOM пÑи помоÑи JavaScript.
ÐнÑÑÑÑменÑÑ ÑазÑабоÑÑика бÑаÑзеÑа оÑлиÑно помогаÑÑ Ð² ÑазÑабоÑке: Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ иÑÑледоваÑÑ DOM, пÑобоваÑÑ Ñ Ð½Ð¸Ð¼ ÑÑо-Ñо делаÑÑ Ð¸ ÑмоÑÑеÑÑ, ÑÑо идÑÑ Ð½Ðµ Ñак.
ÐÑого
HTML/XML докÑменÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² бÑаÑзеÑе в виде DOM-деÑева.
- Теги ÑÑановÑÑÑÑ Ñзлами-ÑлеменÑами и ÑоÑмиÑÑÑÑ ÑÑÑÑкÑÑÑÑ Ð´Ð¾ÐºÑменÑа.
- ТекÑÑ ÑÑановиÑÑÑ ÑекÑÑовÑми Ñзлами.
- ⦠и Ñ.д. ÐÑÑ, ÑÑо запиÑано в HTML, еÑÑÑ Ð¸ в DOM-деÑеве, даже комменÑаÑии.
ÐÐ»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑлеменÑов или пÑовеÑки DOM-деÑева Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ иÑполÑзоваÑÑ Ð¸Ð½ÑÑÑÑменÑÑ ÑазÑабоÑÑика в бÑаÑзеÑе.
ÐдеÑÑ Ð¼Ñ ÑаÑÑмоÑÑели оÑновÑ, наиболее ÑаÑÑо иÑполÑзÑемÑе и важнÑе дейÑÑÐ²Ð¸Ñ Ð´Ð»Ñ Ð½Ð°Ñала ÑазÑабоÑки. ÐодÑобнÑÑ Ð´Ð¾ÐºÑменÑаÑÐ¸Ñ Ð¿Ð¾ инÑÑÑÑменÑам ÑазÑабоÑки Chrome Developer Tools можно найÑи на ÑÑÑаниÑе https://developers.google.com/web/tools/chrome-devtools. ÐÑÑÑий ÑпоÑоб изÑÑиÑÑ Ð¸Ð½ÑÑÑÑменÑÑ â Ð¿Ð¾Ñ Ð¾Ð´Ð¸ÑÑ Ð¿Ð¾ ÑазнÑм вкладкам, поÑиÑаÑÑ Ð¼ÐµÐ½Ñ: болÑÑинÑÑво дейÑÑвий оÑÐµÐ²Ð¸Ð´Ð½Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ. Ðозже, когда Ð²Ñ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð¸Ñ Ð¸Ð·ÑÑиÑе, пÑоÑиÑайÑе докÑменÑаÑÐ¸Ñ Ð¸ ÑзнайÑе Ñо, ÑÑо оÑÑалоÑÑ.
У DOM-Ñзлов еÑÑÑ ÑвойÑÑва и меÑодÑ, коÑоÑÑе позволÑÑÑ Ð²ÑбиÑаÑÑ Ð»Ñбой из ÑлеменÑов, изменÑÑÑ, пеÑемеÑаÑÑ Ð¸Ñ Ð½Ð° ÑÑÑаниÑе и многое дÑÑгое. ÐÑ Ð²ÐµÑнÑмÑÑ Ðº ним в поÑледÑÑÑÐ¸Ñ ÑÐ°Ð·Ð´ÐµÐ»Ð°Ñ .
ÐомменÑаÑии
<code>, Ð´Ð»Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑÑÑок кода — Ñег<pre>, еÑли болÑÑе 10 ÑÑÑок — ÑÑÑÐ»ÐºÑ Ð½Ð° пеÑоÑниÑÑ (plnkr, JSBin, codepenâ¦)