我用jquery做了一些带有name属性的代码! OF DIV !!! 并以某种方式使用它。
如果一方面我在我拥有的每个浏览器中尝试过这个代码(firefox,chrome,即9/8/7,safari,opera,android ......都是最后一次更新)并且它完美地工作,另一方面我看到 - 用谷歌搜索 - “名称”仅被视为形式,输入, textarea , a 和其他类似的。
我可以按照我的方式使用它吗?在我想要的每个html标签中?或者我会在地狱里永远燃烧?
提前谢谢
看到了你的答案,我决定以其他方式存储数据(比如添加类并使用jquery检索它们的名称)。
答案 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属性 - 尽管两者都是名称 定义