|
| 1 | +--- |
| 2 | +title: id |
| 3 | +slug: Web/HTML/Global_attributes/id |
| 4 | +page-type: html-attribute |
| 5 | +browser-compat: html.global_attributes.id |
| 6 | +--- |
| 7 | + |
| 8 | +{{HTMLSidebar("Global_attributes")}} |
| 9 | + |
| 10 | +[Глобальний атрибут](/uk/docs/Web/HTML/Global_attributes) **`id`** визначає ідентифікатор (ID), який повинен бути унікальним у межах всього документа. |
| 11 | + |
| 12 | +{{EmbedInteractiveExample("pages/tabbed/attribute-id.html","tabbed-shorter")}} |
| 13 | + |
| 14 | +## Опис |
| 15 | + |
| 16 | +Призначення атрибута ID – ідентифікувати один-єдиний елемент для посилань (при використанні [ідентифікатора фрагмента](/uk/docs/Web/URI#frahment)), сценаріїв і стилізації (за допомогою {{glossary("CSS")}}). |
| 17 | + |
| 18 | +Елементи з атрибутами ID доступні як глобальні властивості. Ім'я властивості – це атрибут ID, а значення властивості – це елемент. Наприклад, у разі такої розмітки: |
| 19 | + |
| 20 | +```html |
| 21 | +<p id="preamble"></p> |
| 22 | +``` |
| 23 | + |
| 24 | +До елемента абзацу можна в JavaScript звертатися за допомогою коду: |
| 25 | + |
| 26 | +```js |
| 27 | +const content = window.preamble.textContent; |
| 28 | +``` |
| 29 | + |
| 30 | +### Синтаксис |
| 31 | + |
| 32 | +Значення атрибута ID не повинно містити [пробільних символів ASCII](/uk/docs/Glossary/Whitespace#v-html). Браузери обробляють невідповідні ID, що містять пробіли, так, як ніби пробіл є частиною ID. На відміну від атрибута [`class`](/uk/docs/Web/HTML/Global_attributes/class), який дозволяє значення, розділені пробілами, елементи можуть мати лише одне-єдине значення ID. |
| 33 | + |
| 34 | +Технічно кажучи, значення атрибута ID може містити будь-які інші символи Unicode. Однак значення атрибута ID, коли використовується в селекторах CSS, як з JavaScript за допомогою API виду {{domxref("Document.querySelector()")}}, так і в списках стилів CSS, повинні бути валідними [ідентифікаторами CSS](/uk/docs/Web/CSS/ident). Тобто якщо значення атрибута ID не є валідним ідентифікатором CSS (наприклад, `my?id` або `1234`), то його потрібно екранувати перед використанням у селекторі, або використовуючи метод {{domxref("CSS.escape_static", "CSS.escape()")}}, або [вручну](/uk/docs/Web/CSS/ident#ekranuvannia-symvoliv). |
| 35 | + |
| 36 | +У зв'язку з цим розробникам рекомендовано обирати для атрибутів ID значення, що є валідними ідентифікаторами CSS, які не потребують екранування. |
| 37 | + |
| 38 | +Крім цього, не всі валідні значення атрибутів ID є валідними ідентифікаторами JavaScript. Наприклад, `1234` є валідним значенням атрибута, але не є валідним ідентифікатором JavaScript. Це означає, що значення не є валідним ім'ям змінної, тому не можна звертатися до елемента за допомогою коду `window.1234`. Однак до нього можна звертатися за допомогою `window["1234"]`. |
| 39 | + |
| 40 | +## Специфікації |
| 41 | + |
| 42 | +{{Specifications}} |
| 43 | + |
| 44 | +## Сумісність із браузерами |
| 45 | + |
| 46 | +{{Compat}} |
| 47 | + |
| 48 | +## Дивіться також |
| 49 | + |
| 50 | +- Усі [глобальні атрибути](/uk/docs/Web/HTML/Global_attributes). |
| 51 | +- {{domxref("Element.id")}}, що відображає цей атрибут. |
| 52 | +- Метод {{domxref("Document.getElementById")}}. |
| 53 | +- [Селектори ідентифікатора](/uk/docs/Web/CSS/ID_selectors) CSS. |
0 commit comments