有关HTML元素和自定义属性的问题

时间:2010-07-07 22:51:03

标签: html dom

  

可能重复:
  Custom attributes - Yay or nay?

为HTML元素创建自定义属性是否合适:

<input type='text' value='name' custom_attribute='value'>

这看起来有点hacky,我不确定它是否在很大程度上或者确切地说是如何通过DOM访问它。

7 个答案:

答案 0 :(得分:2)

查看html5数据atrributes。

Resig先生解释more

  

HTML中引入了一项新功能   5是添加自定义数据   属性。这似乎是一个   奇怪的补充规范    - 但实际上提供了许多有用的好处。

答案 1 :(得分:1)

答案 2 :(得分:1)

如果属性不在规范中,您的代码将无效。我建议使用jquery的数据存储来查看元素的数据:http://ejohn.org/apps/workshop/adv-talk/#8

答案 3 :(得分:0)

那是DIRRRRRRTY!

它会起作用,但是有很多更好和不同的方法可以达到同样的效果。

您可以在其旁边创建一个包含所需值的隐藏输入。

答案 4 :(得分:0)

它不遵循strict指南,但你可以这样做。 Dojo Library在整个地方使用该技术。

答案 5 :(得分:0)

好问题。我认为它有点像hacky。这取决于它的使用方式。在许多情况下,隐藏字段将起作用。

在我看过自定义属性的所有情况下,使用系统的内部已经流入了html。

答案 6 :(得分:0)

这个答案可能有点主观,但我会从我的经验中分享。我曾经使用的每个浏览器都会忽略任何不属于HTML规范的额外属性 - 即使IE的早期版本也能正确地执行此操作。我发现它是一种方便的DOM操作技术,最近作为jQuery选择器的帮手。但是,它有一些缺点,应该谨慎使用。其中一个缺点是如果你使用的是XHTML。在这种情况下,您不能只编写自己的东西 - 您必须拥有定义属性的DTD或XSD,然后将模式定义作为XML名称空间引用。

正如另一种建议......如果您觉得有点假冒自己的属性,也许您可​​以考虑使用ID属性为HTML元素分配一个唯一的ID,这在大多数情况下都是有效的,如果不是每个都有效标签。然后,您可以使用javascript字典将元素ID与您尝试嵌入的变量相关联。你使用它的唯一原因是javascript,对吧?我无法想象这种技术有用的任何其他原因。

另一种选择是使用隐藏标签作为另一张海报建议,然后使用jQuery的.next()选择器http://api.jquery.com/next/