官术网_书友最值得收藏!

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...
});
主站蜘蛛池模板: 修文县| 怀集县| 昌黎县| 铁岭市| 大新县| 方山县| 建始县| 阜平县| 兖州市| 安平县| 红河县| 平阴县| 柞水县| 隆化县| 鹤岗市| 平果县| 祥云县| 韩城市| 深水埗区| 大兴区| 遂川县| 潢川县| 凤庆县| 千阳县| 东乡| 甘德县| 都匀市| 喜德县| 安化县| 安化县| 青田县| 阿城市| 繁峙县| 藁城市| 垫江县| 个旧市| 凯里市| 九龙县| 枣阳市| 建平县| 晴隆县|