data-*属性是HTML5引入的自定义数据属性,允许开发者在HTML元素上存储额外的信息。这些属性以"data-"开头,后面可以跟任何自定义名称。
| 方法 | 优点 | 缺点 | |------|------|------| | dataset | 原生支持,性能好 | 不兼容IE10以下 | | getAttribute | 兼容性好 | 需要手动筛选data-属性 | | jQuery.data() | 简洁易用 | 需要引入jQuery | | jQuery.attr() | 兼容性好 | 需要手动筛选data-属性 |
<div id="product" data-id="123" data-name="Laptop" data-price="999.99" data-in-stock="true"></div>
<script>
// 原生JavaScript
const product = document.getElementById('product');
console.log('Native dataset:');
console.log(product.dataset); // {id: "123", name: "Laptop", price: "999.99", inStock: "true"}
// jQuery
$(function() {
console.log('jQuery data():');
console.log($('#product').data()); // {id: 123, name: "Laptop", price: 999.99, inStock: true}
});
</script>