Sobes.tech
Junior

Do czego służą atrybuty data w HTML?

sobes.tech AI

Odpowiedź od AI

Atrybuty data-* służą do przechowywania niestandardowych danych, które nie mają wizualnej reprezentacji, bezpośrednio w elementach HTML.

Główne cele użycia:

  • Dostęp do danych przez JavaScript/CSS: Umożliwiają łatwe pobieranie i manipulowanie danymi elementu za pomocą JavaScript (element.dataset) lub używanie ich w selektorach CSS ([data-attribute="value"]).
  • Przechowywanie metainformacji: Przydatne do przechowywania dodatkowych informacji związanych z elementem (np. ID produktu, typ użytkownika, stan).
  • Tworzenie niestandardowych komponentów: Mogą służyć do określenia zachowania lub właściwości własnych komponentów, zaimplementowanych za pomocą JavaScript.
  • Poprawa semantyki: Mogą dodawać pewien poziom semantyki, opisując specyficzne dane powiązane z treścią.

Przykład użycia w HTML:

<div data-product-id="123" data-category="electronics">
  Smartfon
</div>

Dostęp przez JavaScript:

// Pobranie elementu
const productElement = document.querySelector('div');

// Dostęp do atrybutów data
const productId = productElement.dataset.productId; // 123
const category = productElement.dataset.category;   // electronics

Użycie w CSS:

/* Styl dla elementów z data-category="electronics" */
[data-category="electronics"] {
  border: 1px solid blue;
}