How to Use HTML5 Data Attributes with JavaScript
HTML5 supports data attributes that you can use to store extra information with any DOM elements. The name of these data attributes are prefixed with data-*
(lowercase) and these can be easily parsed with the HTML5 dataset API.
For instance, if you an element has data attributes as data-name="apple"
and data-color="red"
, you can access them from JavaScript as elem.dataset.name and elem.dataset.color respectively. There’s no need to attach custom class names to attach properties to an HTML element.
The data-*
attributes are supported in IE 10+ and all other browsers. Here’s a complete snippet.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>HTML5 data-* atributes</title>
</head>
<body>
<div id="person" data-name="labnol" data-country="India"></div>
<script>
var element = document.getElementById('person');
var dataset = element.dataset;
console.log(dataset.name);
console.log(dataset.country);
element.innerHTML = dataset.name + ' lives in ' + dataset.country;
</script>
</body>
</html>
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory