我用jquery编写了一些代码,使用name属性!!div的!!并以某种方式使用它
如果一方面我尝试了这段代码在每个浏览器我有(firefox, chrome,即9/8/7,safari, opera, android…所有与上次更新),它工作完美,在另一方面,我看到-搜索与谷歌-"名称"被认为只进入形式, 输入, textarea, a和其他类似的
。我真的能像以前那样使用它吗?在每个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 更新:这篇文章可能值得一看。
OMG Ponies有一些关于这个话题的好信息:
我的理解是,当Netscape创建Javascript时,它使用名称属性。然而,HTML规范决定使用id,但保留了下来向后兼容性的名称。IME,使用name属性为由于javascript引擎,需要Internet Explorer 6支持在IE中不会读取id属性-只读取名称,虽然两者都是定义。