HTML 输入 - 名称与 id

使用 HTML <input> 时标签,使用name有什么区别?和 id尤其是我发现它们有时被命名为相同的属性?

最佳答案

在 HTML4.01 中:

名称属性

  • 仅对 <a> 有效, <form> , <iframe> , <img> , <map> , <input> , <select> , <textarea>
  • 名称不必是唯一的,可用于将元素组合在一起,例如单选按钮和复选框
  • 不能在 URL 中引用,虽然 JavaScript 和 PHP 可以看到 URL,但有解决方法
  • 在 JavaScript 中被引用为 getElementsByName()
  • id 共享相同的命名空间属性
  • 必须以字母开头
  • 根据规范是区分大小写的,但大多数现代浏览器似乎并不遵循这一点
  • 用于表单元素以提交信息。仅输入带有 name 的标签属性提交到服务器

Id属性

  • 对任何元素有效,<base> 除外, <html> , <head> , <meta> , <param> , <script> , <style> , <title>
  • 在浏览器中呈现的 页面 中的每个 Id 应该是唯一的,这可能会或可能不会都在同一个 文件中
  • 可用作 URL 中的 anchor 引用
  • 在 CSS 或 URL 中以 # 引用签到
  • 在 JavaScript 中被引用为 getElementById() , 和 jQuery 由 $(#<id>)
  • 与 name 属性共享相同的命名空间
  • 必须至少包含一个字符
  • 必须以字母开头
  • 不得包含除字母、数字、下划线 (_)、破折号 (-)、冒号 (:) 或句点 (.) 以外的任何内容
  • 不区分大小写

在 (X)HTML5 中,一切都一样,除了:

名称属性

  • <form> 上无效更多
  • XHTML 规定必须全部小写,但大多数浏览器不遵循这一点

Id属性

  • 对任何元素都有效
  • XHTML 规定必须全部小写,但大多数浏览器不遵循这一点

这个问题是在HTML4.01是规范的时候写的,很多浏览器和功能都和现在不一样了。

https://stackoverflow.com/questions/7470268/

相关文章:

html - 将 div 放入 anchor 内是否正确?

html - 无论单元格中的文本量如何,都将表格列宽设置为常数?

html - 使用 CSS 使 div 可垂直滚动

html - 在页面上垂直和水平居中

的最佳方法?

javascript - jQuery 数据与属性?

html - HTML div 和 span 元素有什么区别?

html - 如何向网站添加一些非标准字体?

javascript - 单击时选择 HTML 文本输入中的所有文本

javascript - HTML "no-js"类的目的是什么?

html - 目标 ="_blank"与目标 ="_new"