Атрибут data-* тега <ul>
Описание
Атрибуты data-* позволяют хранить дополнительную информацию в элементе <ul>. Эти пользовательские атрибуты не влияют на отображение списка, но могут использоваться JavaScript или CSS для добавления функциональности.
<ul data-list-type="navigation" data-visible-items="5" data-load-more="true">
<li>Главная</li>
<li>О нас</li>
<li>Услуги</li>
<li>Портфолио</li>
<li>Контакты</li>
</ul>
Особенности работы:
- Имена атрибутов должны начинаться с
data- - Могут содержать любые пользовательские данные
- Значения хранятся в виде строк
- Доступны через JavaScript и CSS
Примеры практического применения:
| Атрибут | Пример значения | Назначение |
|---|---|---|
data-list-id |
"user-123-permissions" | Идентификация списка |
data-max-items |
"10" | Ограничение количества элементов |
data-sortable |
"true" | Возможность сортировки |
data-api-endpoint |
"/api/get-items" | URL для загрузки данных |
Пример доступа через JavaScript:
<ul id="user-list" data-role="admin-menu" data-version="2.1">
<li>Профиль</li>
<li>Настройки</li>
</ul>
<script>
const list = document.getElementById('user-list');
console.log(list.dataset.role); // "admin-menu"
console.log(list.dataset.version); // "2.1"
</script>
Пример использования в CSS:
<style>
ul[data-list-style="compact"] {
padding-left: 10px;
line-height: 1.2;
}
ul[data-role="admin-menu"] li {
background-color: #f0f8ff;
}
</style>
<ul data-list-style="compact">
<li>Компактный пункт 1</li>
<li>Компактный пункт 2</li>
</ul>
Рекомендации:
- Используйте осмысленные имена атрибутов
- Храните только простые данные (для сложных структур используйте JSON)
- Избегайте хранения чувствительной информации
- Придерживайтесь единого стиля именования (kebab-case)
Ограничения:
- Не предназначены для видимого пользователю контента
- Значения всегда строковые (нужно преобразовывать числа/булевы значения)
- Не влияют на SEO напрямую
- Чрезмерное использование может усложнить код