使用DOM Element的getAttribute / setAttribute调用来关联有关元素内容的其他信息是否是一种良好的做法?
例如,我想调用setAttribute("MY_ATTRIBUTE_VALUE", "...")
,其中MY_ATTRIBUTE_VALUE不适用于<div>
。
谢谢!
答案 0 :(得分:2)
你绝对应该使用数据属性。这是关于它们的文章。 HTML5 Custom Data Attributes
答案 1 :(得分:1)
只要您设置custom data attributes,其目的是保存有关这些元素的元数据,这是非常好的做法。数据属性采用data-name
形式,其中name
可以是任何有效的描述符。
传统上人们会添加类,在某些情况下,这仍然是合适的(例如,当一个类描述属性的状态并且还表示一个样式类时,主要使用该类)。
答案 2 :(得分:1)
如果您认为标记是关于表示的,那么将数据与HTML元素相关联则与该哲学不一致。如果您认为无关紧要,请使用HTML5中引入的 data - 属性。但请注意,HTML5不是标准,尚未得到广泛支持(如果术语“支持”在“生活规范”的上下文中有任何意义,并且不断变化)。但是, data - 属性可能不会扰乱大多数浏览器,但您必须使用get / setAttribute以独立于浏览器的方式可靠地访问它们。
将数据与演示文稿分开是一种良好做法,以便您可以更改演示文稿以提供相同数据的多个视图。如果将数据绑定到演示文稿,则会降低执行此操作的能力。这也意味着更改数据模型可能会不必要地影响演示。
将数据存储在对象中并将其与元素相关联(例如通过元素的id)可能会更快地访问数据(直接属性访问比传递字符串的函数调用快得多)并允许更灵活的UI和数据模型。