Custom data attributes

Another new feature of HTML5 is custom data attributes. Custom data attributes allow you to store custom data private to your application as an attribute on any element in the DOM. All you have to do is prefix the attribute name with data-. The name should be all lower case letters. You can assign any string value to the attribute.

For example, say we had a list of products and we wanted to store information about the products, such as product ID and category. All we have to do is add data-product-id and data-category attributes to the associated elements:

<ul id="product-list">
  <li data-product-id="d1e0ddde" data-category="widgets">
    Basic Widget
  </li>
  <li data-product-id="e6b2c03f" data-category="widgets">
    Super Widget
  </li>
</ul>

So now that we have custom attributes, we can extract the custom data from the elements using JavaScript and use it in our applications. jQuery happens to have a data() method designed just for this purpose. You give it the name of the custom attribute, minus the data-, and it returns the value associated with it.

Continuing with the previous example, let's say we want to allow the user to click on a product in the list and then do some processing on it. The following setSelectedProduct() method uses the data() method to extract the product ID and category from the element that was clicked:

$("#product-list li").click(function() {
    var $product = $(this);
    var productId = $product.data("product-id");
    var category = $product.data("category");
    // Do something...
});
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.25.74