使用属性存储值
Using attributes to store values
我更喜欢使用lang,dir,id,class等属性来存储引用这些对象的某些javascript函数的有用数据 - 我这样做是为了避免使用在每次操作或更改后可能必须更新的数组。问题是这是一种不好的做法,我不能总是使用我想要的属性,因为它们已经在使用中或在某些标签类型上不可用。有没有更好的方法?
请注意,我不喜欢使用分隔符拆分的多个值,因为这在处理大量对象时很慢。
HTML5 data-*
属性是专门为此设计的。从规格:
自定义数据属性旨在存储私有的自定义数据 没有更合适的页面或应用程序 属性或元素。
您可以像这样使用它们:
<div data-random="12345" data-name="James"></div>
它们对所有元素都有效,并且每个元素都可以具有任意数量的元素。
可以通过 dataset
属性访问它们,每个元素都应该具有该属性。如果使用 jQuery,则可以使用 data
方法来帮助解决旧版浏览器(和 IE)的问题。如果没有,则可能需要对 dataset
属性进行功能检测,并回退到不支持dataset
getAttribute
。
由于您同时标记了jQuery和HTML5,我认为这正是您正在寻找的,以一种优雅和标准化的方式,而不会破坏验证。
HTML5 数据-* 属性
相关文章:
- JavaScript-将多个对象存储在数组中,并通过访问它们的属性
- 将属性作为字符串存储在变量中
- 使用 jquery .find() 遍历按类和存储属性选择元素
- RefluxJS存储可以在调用trigger()时指示哪个属性已更改吗?
- 设置 HTML 自定义属性与在 ID 属性中存储信息
- 如何在 jQuery 中存储复杂对象/Razor 中的数据属性
- 如何在对象中存储html属性
- 将Firebase url存储在外部属性文件中
- 如何在EmberJS模板中访问存储在其他变量中的键中的对象属性的值
- 生成html时,在html数据属性中存储由.push()填充的数组
- 添加隐藏属性以存储其他属性值
- 有没有任何方法可以将json对象存储在HTML标记的默认/自定义属性中,比如<tr>
- 调用存储在对象属性中的Javascript函数
- 如何使用存储的属性来选择下拉值
- 设置存储在变量中的元素的属性
- 尝试使用会话存储;无法设置属性'登录'的未定义引用或null引用
- 枚举本地存储属性
- 为动态存储属性指定还原器
- 在Javascript数组中存储属性有什么缺点吗?
- 如何存储属性ID的值到一个变量?Jquery Javascript