为什么使用.data()而不是使用普通变量来存储数据?
What's the reason for storing data with .data() instead of using plain variables?
假设我必须记住某个元素的初始高度。我看到的一种常见做法是将该值与该元素的$.data
一起保存。
我不明白这样做的好处。为什么不简单地保留一个带有该值的简单变量,或者如果有多个元素,则保留一个带有值的数组呢?使代码易于理解。
使用data()
的主要原因是存储特定于某个元素的数据,以便以后可以访问它,下面是一个示例
$('.elements').on('click', function() {
$(this).data('value', this.value);
});
$('.elements').on('keyup', function() {
$(this).val( $(this).data('value') );
});
注意,事件处理程序可以匹配许多不同的元素,并且使用data()
保持数据与每个元素相关联,而无需为每个元素使用几个变量或复杂的数组。
它允许函数被重用以将相同的效果应用于其他元素(而不必处理闭包)。
允许用HTML初始化值
基本上是因为让您将信息保存在NODE内,防止可能的变量名称冲突,并且不需要传递变量。关于节点的所有必要信息都保留在节点本身
相关文章:
- 如何将变量数据从Java类获取到JavaScript
- 如何获取PHP变量数据并将其存储在JavaScript变量中
- 如何将变量数据存储在其他变量中并对其进行解析
- 如何在没有web服务器的情况下将变量数据从Python传输到Javascript
- 将变量数据添加到 JSON
- 变量数据丢失的技术原因
- 如何从NodeJsServer的查询字符串中获取id或任何变量数据
- 将变量数据从操作脚本 3 发送到 JavaScript
- 将 JS 变量数据发送到可下载页面
- 如何在 php 变量中传递 jquery 变量数据
- 如何将变量数据传递到视图
- 如何将变量数据放在数组中,javascript
- 将字符串与变量数据进行比较
- 删除变量数据时出错
- 如何将大型变量数据从javascript发送到SpringMVC控制器
- Express JS - 将后端变量/数据传递给 Angular JS
- 数组键变量正在更改,但变量数据没有更改
- 变量数据错误
- 将jQuery中的变量数据保存到PHP中,并在页面重新加载后获取
- 变量变量数据未发送到数据库中