我在哪里可以使用"name"属性(在 HTML 中)?



我用jquery编写了一些代码,使用name属性!!div的!!并以某种方式使用它

如果一方面我尝试了这段代码在每个浏览器我有(firefox, chrome,即9/8/7,safari, opera, android…所有与上次更新),它工作完美,在另一方面,我看到-搜索与谷歌-"名称"被认为只进入形式输入textareaa和其他类似的

我真的能像以前那样使用它吗?在每个html标签我想?或者我将永远在地狱里燃烧?

提前谢谢你


看到你的答案,我决定以其他方式存储数据(如添加类和检索他们的名字,甚至与jquery)。

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

以html:

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

在这里验证,你会看到你得到这个错误:

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

据我所知,name 主要用于将元素与标签配对(在这种情况下,分组单选按钮)。

编辑:提到Mike的评论。Name也用于以键/值对的方式通过GET和POST提交表单。

更新:这篇文章可能值得一看。

OMG Ponies有一些关于这个话题的好信息:

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

最新更新