Lesson 23 / 28

data-* Attributes

Store custom data right on an element.

Custom attributes

Any data-* attribute is valid HTML and readable from JavaScript via dataset.

<li data-id="42" data-status="done">Buy milk</li>

<script>
  const li = document.querySelector('li');
  console.log(li.dataset.id);     // "42"
  console.log(li.dataset.status); // "done"
</script>

When to use it

Great for attaching small pieces of app state to markup — IDs, flags, config — without inventing new HTML tags.