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