假设我必须记住某个元素的初始高度。我看到的一种常见做法是将此值保存$.data
在该元素上。
我无法理解这样做的好处。为什么不简单地保留一个具有该值的简单变量,或者如果有多个元素,则保留一个具有值的数组?使代码易于理解。
假设我必须记住某个元素的初始高度。我看到的一种常见做法是将此值保存$.data
在该元素上。
我无法理解这样做的好处。为什么不简单地保留一个具有该值的简单变量,或者如果有多个元素,则保留一个具有值的数组?使代码易于理解。
使用的主要原因data()
是存储特定于某个元素的数据,以便以后可以访问,这里是一个例子
$('.elements').on('click', function() {
$(this).data('value', this.value);
});
$('.elements').on('keyup', function() {
$(this).val( $(this).data('value') );
});
请注意,事件处理程序可以匹配许多不同的元素,并且 usingdata()
保持与每个元素相关联的数据,而无需为每个元素或复杂数组使用多个变量。
它允许重用该函数以将相同的效果应用于其他元素(无需处理闭包)。
它允许使用 HTML 初始化值。
它使开发人员工具更容易检查数据。
基本上是因为您将信息保存在节点内,从而防止可能的变量名称冲突并且无需传递变量。关于节点的所有需要的信息,留在节点本身