А .theme-dark
чем не устраивает модных и молодёжных фронтдендеров?
Вон, в бутстрапе пресловутом примерно так же реализовано.
input[type=«checkbox»]…
яркие такие моменты
<tr data-id="12345"><td>Селиван Сталлоне</td></tr>
<tr data-id="12346"><td>Галина Гадот</td></tr>
var ids = querySelectorAll('tr[data]');
cosnsole.log( ids[0].dataset.id ); // 12345
Если нулевой индекс захардкожен, то All можно было не делать
цель примера — показать с помощью минимального кода что это массив
Только это не массив
Это node list, подобие массива.
var ids = document.querySelectorAll('tr[data-id]');
console.log( ids[0].dataset.id ); // 12345
codepen.io/shuchkin/pen/WNvXWJQ
Когда-то, как PoC, сделал на них SPA без JS стейта. То есть все данные приложения лежали в атрибутах. Локальные переменные в хендерах были, но без долгоживущих замыканий. В принципе работало, но тормозило на каждый чих DOM менять
Все, что написано в секции с селекторами и многое в других секциях, справедливо для любых HTML-атрибутов вообще, а не только для data-*. Единственная особенность data-атрибутов — это проброс значений в свойство dataset у DOM-элемента.
Тема действительно не распространенная, что странно. Поддержка браузерами заявлена широкая.
Годная статья, но я бы верблюжий регистр оставил как CamelCase.
Полное руководство по HTML-атрибутам data-*