The code below show how to get and set data attributes on an HTML element with Javascript. This method setAttribute is used to add specific attributes to an element by giving the attribute a certain value. data-* attributes allow us to store extra information on standard, semantic HTML elements without other hacks such as non-standard attributes, or extra properties on DOM. The HTML Element To set data attributes in HTML, we define data-KEY="VALUE" in the start tag. Often we need to be able to retrieve these values in order to be able to process it. 2. var dataAttribute = element.getAttribute('data-name'); 3. Magic! However, you should not add custom attributes to your properties - you should use data attributes - e.g. JavaScript allows you to set data attributes of elements to save additional information about the element. Using data-* attributes is a valid, safe way to pass custom data. you need to read more about jquery functions .data() and .attr() documenation will help you to understand difference between .data . OP should have used data-icon, data-url, data-target, etc. For example, if an elem has got an attribute, called "data-about", it may be available as elem.dataset.about, as follows: Depending on how the data attribute is named will depend on how it is set to the dataset object: kebab-case data-first-name dataset.firstName; camelCase data-lastName dataset.lastname; snake_case data-middle_name dataset.middle_name; Setting Data Attributes in JavaScript Syntax: var elementVar = document.getElementById ("element_id"); elementVar.setAttribute ("attribute", "value"); So what basically we are doing is initializing the element in . Inherited: yes. If your data attribute requires two or more words, just add a dash between each word. log (element.dataset.user); console. Remove the target attribute by calling the removeAttribute () on the selected link element. All the attributes, starting with "data-" are stocked for developers' use. %. Here's an example for setting and retrieving the attribute "data-foo": // setting data-foo Approach 1: We can use the inbuilt setAttribute () function of JavaScript. Any hyphen followed by a lower case letter is removed from . HTML syntax The syntax is simple. As you can see, it's pretty straightforward to get custom data attributes with the getAttribute method of an HTML element. get the data- attribute in jacascript. link.dataset.target // This will get us 1 link.dataset.productTitle // This will get us 'Example Product' link.dataset.productImg // This will get us 'product.jpg' Did you notice the dataset syntax in both of those examples? $ (selector).attr (attribute,function (index,currentvalue . Discuss. // We can set our data attribute to 4 element.setAttribute('data-badges', '4'); HTML5 is designed with extensibility in mind for data that should be associated with a particular element but need not have any defined meaning. You can then retrieve and use that data. Pretty cool, right! A line height in percent of the current font size. The word-wrap property allows long words to be able to be broken and wrap onto the next line. See the example below. A number that will be multiplied with the current font-size to set the line height. Note: The dataset property itself can be read, but not directly written. attr .data() : Store arbitrary data associated with the matched elements or return the value at the named data store for the first element in the set of matched elements..attr() : Get the value of an attribute for the first element in the set of matched elements . Definition and Usage. To get the value of the data-fruit attribute, we use the plant.dataset.fruit property. 1 5 (1 Votes) 0 3.2 7 Phoenix Logan 44215 points It will get the attribute value for only the first element in the matched set. document.querySelector ("#container").setAttribute ('data-post-id', '12'); Removing an Attribute The removeAttribute method removes the attribute from the element. getElementById ('demo'); console. If the attribute does not exist, it is created first. Things you can do with data attributes # The examples above are very basic, but you can do so much with custom data attributes. Accessing data attributes in JavaScript. How it works: Select the link element with id js using the querySelector () method. Setting, getting, and removing data attributes Read, write, or remove data values of an element. // Returns data-state="collapsed" el.setAttribute("data-state", "collapsed"); But data attributes have their own special API as well. The data-* attribute gives us the ability to embed custom data attributes on all HTML elements. Properties - is what's in DOM objects. Setting HTML Data Attributes in JavaScript When we want to set a new value for a data attribute, we can use the same JavaScript function that we'd use for setting any built-in HTML attribute: setAttribute (). For get an attribute's value use the below syntax. In this tutorial we look at how to create data attributes and how to retrieve. Now that we have the HTML element, let's access a couple of our Data Attribute's using the Javascript Dataset property. when the page is loaded. 4. If the attribute is not existing then it is added. In any event, it turns out that the way you set these attributes via JavaScript is the same for both cases. If the specific attribute is already present/ assigned, the value in it will be updated or overwritten else new attribute is added with specified value and name. We can use two approaches to modify an attribute of an HTML element using JavaScript. // replace "data-name" with your data attribute name. It exposes a map of strings ( DOMStringMap) with an entry for each data-* attribute. 5. console.log(dataAttribute); javascript change data attribute value. So, we can also use the setAttribute () method to update the existing attribute's value. Data attributes let you assign additional data to DOM elements. A fixed line height in px, pt, cm, etc. Note that, to get the data from the attribute, we have to use camelCase writing in our code . This is the equivalent of jQuery's $.data () method. get values from data attribute javascript. let value = el.getAttribute("data-state"); // You can set the value as well. The setAttribute method sets the value of the attribute. Grab the element (i.e let ele = document.querySelector (".ele")) Using the setAttribue () method, set the data attribute. getAttribute ('data-value'); Get value from data attribute JS. Like any other attribute, you can access the value with the generic method getAttribute. In vanilla JavaScript setting a data attribute of an element is done with the generic setAttribute () method. To set a data-* attribute value, use attr. Default value: normal. The dataset read-only property of the HTMLElement interface provides read/write access to custom data attributes ( data-*) on elements. Demo . log (element.dataset.customEmoji); // fuu // . The property can also be assigned a value, so we can set the value of the data-fruit attribute by writing: plant.dataset.fruit = 10 jQuery jQuery lets us get a value of an attribute that starts with data- with various ways. It is an interface to create, delete, handle, and maintain data of the application. It gives a string map ( DOMStringMap) with the entry for every data-* attribute. The dataset property is a read-only property of the HTML element that helps us read/write data attributes. Please note that we can not only read, but also modify data-attributes. It provides read-only access for data attributes but you can modify the write property. The dataset is a document-oriented module property to access and set the data attribute using JavaScript elements. Animatable: no. It creates user-friendly, safe, and protected web applications. To get the value from a data attribute in JavaScript we can use the following code: const element = document. Demo . Read about animatable. W3Guides. The data-* attribute is used to store custom data private to the page or application. We can either use the dataset property to get access to the data attributes or use the .getAttribute () method to select them by specifically typing their names. get value of data attribute hs. Note: Data values are stored and retrieved as strings. $ (selector).attr (attribute); Using the below syntax you can set an attribute and values. For example, if you want to add a "data-single" attribute then do ele.setAttribute ("data-single", "true");". Set HTML data attribute as an integer array, Element.setAttribute(), JavaScript Arrays. We'll revise the example we discussed in the previous section. $ (selector).attr (attribute,value); To set an attribute and value by using a function using this below syntax. Show demo . Filtering # Get data attribute from i class javascript. A small . Syntax of jQuery attr () Method. It can be used to store information (or "state") about the element, or even just as a selector for JavaScript components. setAttribute () method This is another way to achieve the same thing of adding the data attribute using Javascript. length. A data attribute is a custom attribute on an element that starts with data-*. Demo . If the attribute already exists, it only set or changes the value of the attribute. They are in the dataset property. Then CSS updates the view accordingly: in the example above the last line (*) changes the color to blue. The dataset API converts each one so you'll always have data-some-attribute-name in your HTML and dataset.someAttributeName in your JavaScript. Summary. In this section, we'll discuss how you can use the getAttribute method to get the value of data attributes. HTML <div id="user" data-id="1" data-user="xyz" data-age="18">User 1</div> JavaScript You can get or set a data attribute through the dataset object in JavaScript like this: It has a value of count. The stored (custom) data can then be used in the page's JavaScript to create a more engaging user experience (without any Ajax calls or server-side database queries). Prior to jQuery 1.4.3, .data ( obj ) completely replaced all data. The getAttribute () Method The removeAttribute () Method The hasAttribute () Method The hasAttributes () Method The getAttributeNode () method The setAttributeNode () method The removeAttributeNode () method Here are a few examples off the top of my head. <button data-click="count">Count Up</button> To create a data attribute in HTML, simply start the property with data- and pick a name that makes sense for you.