我在哪里可以使用“名称”属性(在HTML中)?

时间:2013-03-05 15:03:34

标签: html

我用jquery做了一些带有name属性的代码! OF DIV !!! 并以某种方式使用它。

如果一方面我在我拥有的每个浏览器中尝试过这个代码(firefox,chrome,即9/8/7,safari,opera,android ......都是最后一次更新)并且它完美地工作,另一方面我看到 - 用谷歌搜索 - “名称”仅被视为形式输入 textarea a 和其他类似的。

我可以按照我的方式使用它吗?在我想要的每个html标签中?或者我会在地狱里永远燃烧?

提前谢谢


看到了你的答案,我决定以其他方式存储数据(比如添加类并使用jquery检索它们的名称)。

2 个答案:

答案 0 :(得分:4)

您可以使用您想要的任何属性名称 - 但根据规范,“name”不是div标签上的有效属性,因此您的标记技术上无效。

例如,如果您使用此html:

<!DOCTYPE html>
<head>
   <title>test</title>
</head>
<body>
   <div name="mydiv" class="myclass"></div>
</body>

并验证它here,您会看到收到此错误:

Line 6, Column 41: Attribute name not allowed on element div at this point.
       <div name="mydiv" class="myclass"></div>

答案 1 :(得分:2)

<a>, <applet>, <button>, <form>, <frame>, <iframe>, <img>, <input>, <map>, <meta>, <object>, <param>, <select>, and <textarea>

https://developer.mozilla.org/en-US/docs/DOM/element.name

据我所知,名称​​主要是用于将元素与标签配对(并且在那种情况下,将单选按钮分组)。

编辑:提及迈克的评论。名称也用于以键/值对的方式使用GET和POST进行表单提交。


更新:可能值得查看this post

OMG Ponies有一些关于这个主题的好消息:

  

我的理解是,当Netscape创建Javascript时,它使用了   名称属性。然而,HTML规范决定使用id,但保留   用于向后兼容的名称。 IME,使用name属性   因为javascript引擎,所以需要Internet Explorer 6支持   在IE中不会读取id属性 - 尽管两者都是名称   定义

相关问题