简而言之数据属性可被附连到由 属性所描述的元件,其中区域中的隐藏的输入不能是另一个DOM元素 内部和它的使用仅限于形式(在良好做法反正) 。 隐藏的输入是一个实际的DOM元素,而数据属性很好......属性,所以它可以绑定到DOM元素。这在大多数情况下,但如果你需要 更多的信息,也许一个例子继续阅读,我警告你它有点长,英语不是我的母语。
基本上,数据属性的创建是为了向DOM元素添加额外的信息,这些额外的信息无法用现有的属性(例如类或好的旧ID)附加到它。
这主要影响基于Web的应用程序,或者更具体地说,Saas'对数据驱动的属性的需求比普通网站(即使CMS背后有CMS)要广泛得多。
- 使用的东西HTML特性,他们我们不是
最初创建或设计
- :
我很多年前,当你只有两个选择用来白日梦这个属性使用在他们的令牌的HTML属性,将它们与 客户端或服务器端函数解码(分裂,剪接,爆炸)
这种方法的问题是在于n无论你如何看待它,你都不是 使用他们的方式,他们的意思和设计使用的HTML属性。
Html是一种标记语言,因此它不会自然拥有数据驱动属性 ,您无法使用它来操纵数据处理和行为。
,我有那么基本的情况是,我想有一个 jQuery的对话框加载所有的数据输入表单(客户,产品,供应商等) 各自与不同的宽度和高度。这样,客户端脚本 会小得多,我需要为每个添加到客户端请求的应用程序中的新表单添加一个新对话框 。
这是我用来做什么的数据属性出现之前:
点击添加新的产品
在ID令牌中我有3个值:
- 要从服务器加载的表格
- 对话框窗口的宽度
- 对话窗口的高度摹窗口
其他的方法是使用href属性,但是这是远远超过使用id 只是因为href属性是为了指向一个DOM元素或其他来源,没有任何数据保持于雪上加霜被处理。
两种方法都涉及使用拆分或类似功能来分解令牌。
这我怎么做现在的真棒数据属性:
点击添加新的产品
这样,我并不需要一个道理,我就可以得到每个属性的值 与('data-form'),$(this).attr('data-dwith');等等。
恕我直言,我认为向html元素添加一点额外的数据比创建 更长的JavaScript文件更重,更复杂。
对于这种情况,你为什么不写数据或大量数据时,请选择隐藏的输入该ID作为常规ID属性? – elwyn 2011-04-06 02:19:42
@elwyn:我不知道。我从来没有真正想过。 – 2011-04-06 05:45:01