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

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...
});
主站蜘蛛池模板: 临邑县| 江北区| 西充县| 滨海县| 广宗县| 德令哈市| 长丰县| 长子县| 丹巴县| 汝州市| 拜泉县| 宝兴县| 仙居县| 武威市| 阜南县| 郑州市| 务川| 太湖县| 叶城县| 柳江县| 平谷区| 郎溪县| 霍邱县| 枞阳县| 乐平市| 新蔡县| 饶平县| 中西区| 玉屏| 武威市| 永定县| 永顺县| 比如县| 泸州市| 仪陇县| 宜都市| 浠水县| 娄底市| 古田县| 大田县| 同仁县|