Сьогоднішня стаття присвячена розгляду нововведення в HTML5 – користувацьких атрибутів даних (data). Ви дізнаєтеся, що таке атрибути data
, навіщо вони потрібні, і як їх можна використовувати.
Дуже часто розробникам потрібно зберігати певну інформацію, пов’язану з різними елементами DOM. Найчастіше така інформація більше потрібна саме програмістам, а не відвідувачам сайту. Припустимо, вам потрібно визначати тип блоку DOM (section
, footer
і т.д.) і привласнювати йому ідентифікатор, щоб пізніше додавати до нього певні CSS стилі.
Це легко можна зробити і за допомогою атрибутів id
або class
. Але, іноді, такого рішення мало. З огляду на наступні обмеження:
class
не призначений для зберігання розширених даних. Його основна мета – привласнювати CSS стилі певному набору елементів.
Щоб вирішити ці завдання, в HTML5 були введені атрибути даних. Всі атрибути елемента, назва якого починається з data-
, є атрибутами даних. Ці атрибути даних можна використовувати і для присвоєння стилів елементам DOM.
Назва атрибута даних завжди починається з data-
. Наприклад:
<div data-element-type="section" data-nonce="bfc9a753f7" data-id="25018"> Section </div>
Крім префікса data-
, назва допустимого користувацького атрибуту даних може містити тільки латинські букви, цифри, дефіс (–), крапку (.), двокрапку (:) або підкреслення (_). Для назви не можна використовувати великі літери.
Зауваження щодо використання атрибутів даних:
string
. Все, що може бути закодовано у вигляді рядка, також може зберігатися в атрибутах даних. Якщо потрібно виконати перетворення типів, використовуйте для цього JavaScript.data-class
.
Тепер давайте перейдемо до розгляду практичного застосування атрибутів даних і дізнаємося, як отримати доступ до їх значень в CSS і JavaScript.
Ви можете використовувати атрибути даних в CSS для стилізації елементів за допомогою селекторів атрибутів. Ви також можете показати інформацію, що зберігається в атрибуті даних, користувачам (в підказці або іншим способом) за допомогою функції attr()
jQuery.
Якщо взяти приклад з типами блоків, ви можете по-різному стилізувати їх фоновий колір. Приклад селектора в CSS:
div[data-element-type='section'] { background: #ccc; }
Ви можете використовувати спливаючі підказки, щоб показати користувачам деяку додаткову інформацію, пов’язану з елементом. Інформація, яку ви хочете показати, може зберігатися в атрибуті data-tooltip
.
<span data-tooltip="Приклад підказки (tooltip)">Підказка</span>
Потім ви можете показувати ці дані користувачеві з допомогою псевдоелемента ::before
.
span.tooltip::before { content: attr(data-tooltip); position: absolute; top: 25px; font-size: 15px; display: none; } span.tooltip:hover::before { display: inline-block; }
Ви можете отримати доступ до атрибутів даних в JavaScript за допомогою різних способів.
Спосіб №1: Використання getAttribute
і setAttribute
Метод getAttribute
повертає або пусте значення (null
), або порожній рядок, якщо даний атрибут не існує. Ось приклад використання цього методу:
var element = document.getElementById("some-block"); var blockType = element.getAttribute("data-element-type");
Ви можете використовувати метод setAttribute
, щоб змінити значення існуючих атрибутів або додати нові атрибути.
element.setAttribute("data-id", "newId");
Спосіб №2: Використання jQuery
Ви також можете використовувати метод jQuery data()
для доступу до атрибутів даних елемента. До версії jQuery 1.6 використовувався наступний код для доступу до атрибутів даних:
var element = $("#some-block"); var blockType = element.data("element-type"); element.data("element-type", "newData");
Починаючи з версії jQuery 1.6 використовується версія атрибутів даних у форматі camelCase (ВерблюжийРегістр). Тепер ви можете зробити те ж саме, використовуючи наступний код:
var element = $("#some-block"); var blockType = element.data("elementType"); element.data("elementType", "newData");
У сьогоднішній статті ми розглянули основні моменти, які вам потрібно знати про атрибути даних (data-
) в HTML5. Крім створення спливаючих підказок і стилізації елементів за допомогою селекторів атрибутів, ви можете використовувати атрибути даних для зберігання і відображення користувачам різних даних, таких як повідомлення про непрочитані повідомлення та маси інших.
Дякуємо, що читаєте нас!
Навчання за кордоном вже давно асоціюється з якісною освітою, новими можливостями та безліччю перспектив. Але…
Вибір майстра для ремонту та перетяжки меблів – завдання, яке потребує вдумливого підходу. Адже від…
Вибір ідеального хостингу під свій сайт може бути досить заплутаною справою, особливо коли існує багато…
Щоб уникати помилок, потрібно набиратися досвіду; щоб набиратися досвіду, потрібно робити помилки Лоуренс Пітер
Коротке визначення Чорного SEO Чорне СЕО (або Чорна оптимізація) — це будь-яка практика, метою якої…
Отримання прав водія категорії C відкриває двері до професійної діяльності, пов'язаної з керуванням вантажними автомобілями.…