0

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

如果一方面我在我拥有的每个浏览器(firefox,chrome,即 9/8/7,safari,opera,android ......所有最新更新)中都尝试了此代码并且它运行良好,另一方面我看到- 用 google 搜索 - "name" 只考虑到form , input , textarea , a和其他类似的。

我真的可以像以前那样使用它吗?在我想要的每个 html 标签中?还是我会在地狱里永远燃烧?

先感谢您


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

4

2 回答 2

5

您可以使用任何您想要的属性名称 - 但根据规范,“名称”不是 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>
于 2013-03-05T15:09:07.940 回答
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

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

编辑:提到迈克的评论。Name 还用于以键/值对的方式使用 GET 和 POST 提交表单。


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

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

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

于 2013-03-05T15:07:28.300 回答