|
16 | 16 |
|
17 | 17 |  |
18 | 18 |
|
19 | | -Класи: |
| 19 | +Ці класи: |
20 | 20 |
|
21 | 21 | - [EventTarget](https://dom.spec.whatwg.org/#eventtarget) -- це кореневий "абстрактний" клас клас для всього. |
22 | 22 |
|
23 | | - Об’єкти цього класу ніколи не створюються. Він служить основою, тому всі вузли DOM підтримують так звані "події", які ми розглянемо пізніше. |
| 23 | + Об’єкти цього класу ніколи не створюються. Він служить основою, тому всі вузли DOM підтримують так звані "події", які ми розглянемо пізніше. |
24 | 24 |
|
25 | | -- [Node](https://dom.spec.whatwg.org/#interface-node) -- це також "абстрактний" клас, що служить базою для вузлів DOM. |
26 | | - |
27 | | - Він забезпечує основну функціональність дерева: `parentNode`, `nextSibling`, `childNodes` і так далі (це гетери). Об’єкти класу `Node` ніколи не створюються. Але є конкретні класи вузлів, які успадковуються від нього, і таким чином успадковують функціональність `Node`. |
28 | | - |
29 | | -- [Document](https://dom.spec.whatwg.org/#interface-document), з історичних причин часто успадковується `HTMLDocument` (хоча остання специфікація цього не диктує) -- це документ як ціле. |
30 | | - |
31 | | - Глобальний об’єкт `document` належить саме цьому класу. Він служить точкою входу в DOM. |
32 | | - |
33 | | -- [CharacterData](https://dom.spec.whatwg.org/#interface-characterdata) -- "абстрактний" клас, успадкований: |
34 | | - - [Text](https://dom.spec.whatwg.org/#interface-text) -- клас, що відповідає тексту всередині елементів, напр. `Hello` в `<p>Hello</p>`. |
35 | | - - [Comment](https://dom.spec.whatwg.org/#interface-comment) -- клас для коментарів. Вони не відображаються, але кожен коментар стає членом DOM. |
36 | | - |
37 | | -- [Element](https://dom.spec.whatwg.org/#interface-element) -- це базовий клас для елементів DOM. |
38 | | - |
39 | | - Він забезпечує навігацію на рівні елементів, таку як `nextElementSibling`, `children` та пошукові методи, такі як `getElementsByTagName`, `querySelector`. |
40 | | - |
41 | | - Браузер підтримує не тільки HTML, але й XML та SVG. Клас `Element` служить базою для більш специфічних класів: `SVGElement`, `XMLElement` (вони нам тут не потрібні) та `HTMLElement`. |
42 | | - |
43 | | -- Нарешті, [HTMLElement](https://html.spec.whatwg.org/multipage/dom.html#htmlelement) -- це, основний клас для всіх елементів HTML. Ми будемо працювати з ним більшу частину часу. |
44 | | - |
45 | | - Він успадковується конкретними елементами HTML: |
46 | | - - [HTMLInputElement](https://html.spec.whatwg.org/multipage/forms.html#htmlinputelement) -- це клас для `<input>` елементів, |
47 | | - - [HTMLBodyElement](https://html.spec.whatwg.org/multipage/semantics.html#htmlbodyelement) -- це клас для `<body>` елементів, |
48 | | - - [HTMLAnchorElement](https://html.spec.whatwg.org/multipage/semantics.html#htmlanchorelement) -- це клас для `<a>` елементів, |
49 | | - - ...тощо. |
50 | | - |
51 | | - Об'єкти цього класу ніколи не створюються. Він служить базою, щоб всі вузли DOM підтримували так звані "події", які ми розглянемо пізніше. |
52 | | - |
53 | | -- [Node](https://dom.spec.whatwg.org/#interface-node) - також "абстрактний" клас, який є базовим для вузлів DOM. |
| 25 | +- [Node](https://dom.spec.whatwg.org/#interface-node) -- також "абстрактний" клас, який є базовим для вузлів DOM. |
54 | 26 |
|
55 | 27 | Він надає основні функціональні можливості дерева: `parentNode`, `nextSibling`, `childNodes` та інші (це геттери). Об'єкти класу `Node` ніколи не створюються, але існують інші класи, які успадковують його (і таким чином успадковують функціональність `Node`). |
56 | 28 |
|
|
60 | 32 |
|
61 | 33 | - [CharacterData](https://dom.spec.whatwg.org/#interface-characterdata) - "абстрактний" клас, успадковується: |
62 | 34 |
|
63 | | - - [Text](https://dom.spec.whatwg.org/#interface-text) - клас, що відповідає тексту всередині елементів, наприклад, `Привіт` у `<p>Привіт</p>`. |
64 | | - - [Comment](https://dom.spec.whatwg.org/#interface-comment) - клас для коментарів. Вони не показуються, але кожен коментар стає частиною DOM. |
| 35 | + - [Text](https://dom.spec.whatwg.org/#interface-text) -- клас, що відповідає тексту всередині елементів, наприклад, `Привіт` у `<p>Привіт</p>`. |
| 36 | + - [Comment](https://dom.spec.whatwg.org/#interface-comment) -- клас для коментарів. Вони скриті від користувача, але кожен коментар стає частиною DOM. |
65 | 37 |
|
66 | | -- [Element](https://dom.spec.whatwg.org/#interface-element) - базовий клас для елементів DOM. |
| 38 | +- [Element](https://dom.spec.whatwg.org/#interface-element) -- базовий клас для елементів DOM. |
67 | 39 |
|
68 | 40 | Він надає навігаційні можливості на рівні елементів, такі як `nextElementSibling`, `children` та методи пошуку, такі як `getElementsByTagName`, `querySelector`. |
69 | 41 |
|
70 | | - Браузер підтримує не лише HTML, а також XML та SVG. Тому клас `Element` служить базою для більш конкретних класів: `SVGElement`, `XMLElement` (ми їх тут не потрібні) та `HTMLElement`. |
| 42 | + Браузер підтримує не лише HTML, а також XML та SVG. Тому клас `Element` служить базою для більш конкретних класів: `SVGElement`, `XMLElement` (вони нам тут не потрібні) та `HTMLElement`. |
71 | 43 |
|
72 | 44 | - Нарешті, [HTMLElement](https://html.spec.whatwg.org/multipage/dom.html#htmlelement) - це базовий клас для всіх HTML-елементів. Ми будемо працювати з ним більшість часу. |
73 | 45 |
|
74 | 46 | Він успадковується класами конкретних HTML-елементів: |
75 | 47 |
|
76 | | - - [HTMLInputElement](https://html.spec.whatwg.org/multipage/forms.html#htmlinputelement) - клас для елементів `<input>`, |
77 | | - - [HTMLBodyElement](https://html.spec.whatwg.org/multipage/semantics.html#htmlbodyelement) - клас для елементів `<body>`, |
78 | | - - [HTMLAnchorElement](https://html.spec.whatwg.org/multipage/semantics.html#htmlanchorelement) - клас для елементів `<a>`, |
| 48 | + - [HTMLInputElement](https://html.spec.whatwg.org/multipage/forms.html#htmlinputelement) -- клас для елементів `<input>`, |
| 49 | + - [HTMLBodyElement](https://html.spec.whatwg.org/multipage/semantics.html#htmlbodyelement) -- клас для елементів `<body>`, |
| 50 | + - [HTMLAnchorElement](https://html.spec.whatwg.org/multipage/semantics.html#htmlanchorelement) -- клас для елементів `<a>`, |
79 | 51 | - ...тощо. |
80 | 52 |
|
81 | 53 | Існує багато інших тегів з власними класами, які можуть мати певні властивості та методи, тоді як деякі елементи, такі як `<span>`, `<section>`, `<article>` не мають специфічних властивостей і, тому, вони є екземплярами класу `HTMLElement`. |
82 | 54 |
|
83 | | -Таким чином, повний набір властивостей та методів для певного вузла формується в результаті ланцюга успадкування. |
| 55 | +Таким чином, повний набір властивостей та методів для певного вузла формується в результаті ланцюжка успадкування. |
84 | 56 |
|
85 | 57 | Наприклад, давайте розглянемо об’єкт DOM для елемента `<input>`. Він належить до класу [HTMLInputElement](https://html.spec.whatwg.org/multipage/forms.html#htmlinputelement). |
86 | 58 |
|
|
0 commit comments