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

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...
});
主站蜘蛛池模板: 桑植县| 温州市| 西丰县| 邻水| 英吉沙县| 阿拉善右旗| 富宁县| 昌黎县| 拜泉县| 淅川县| 鹰潭市| 方正县| 敖汉旗| 巩留县| 东方市| 莱州市| 古蔺县| 汕尾市| 景谷| 黄石市| 蒙自县| 江阴市| 陇西县| 利川市| 吐鲁番市| 云梦县| 前郭尔| 大悟县| 南宫市| 阜宁县| 宝清县| 汉寿县| 新宁县| 临澧县| 开封县| 泉州市| 济阳县| 抚松县| 嘉义市| 龙陵县| 岚皋县|