HTML中的名称与ID属性

使用<div id="here" ...而不是<div name="here" ...有什么好处<div name="here" ...

他们都被称为#here?


以下是两者之间的一些区别:

  • 名称从来不是一个div元素属性。
  • 表单控件(input,textarea,select,button元素)上使用的名称与命名元素上的id属性完全不同。 在这种情况下,name属性与发送给服务器时数据的标签方式有关,多个元素可能共享相同的名称。 另一方面,id属性用于识别用于脚本,样式或寻址目的的唯一元素。
  • 在表单控件之外的其他元素上使用名称属性的方式与HTML相同,但是它允许使用比ID属性更广泛的字符集,并且没有以相同的方式进行控制。 由于这种不明确性,W3C决定在这些元素上弃用/删除名称属性,以支持XHTML中的unambigous id属性。 然而,这也与XML的另一个细节有关 - 任何元素的只有一个属性可能是类型ID,如果它们让名称保留在元素上,但纠正了歧义问题则情况并非如此。

  • 由于名称属性在这两组元素上的工作方式不同,因此最好删除它们。

  • 简而言之,为了向后兼容,如果使用HTML4.01或XHTML1.0 Transitional,则应该使用name和id属性,它们都设置为相同的值,用于除表单控件之外的所有元素。 如果您严格使用XHTML1.0或更高版本,则应仅使用id。 对于表单控件,您应该使用名称来表示要将表单发送到服务器以及DOM0访问的名称,并且只使用id进行样式设置,DOM1-3访问或寻址原因


    这取决于你要在哪里使用它们。

    通常,元素的id是唯一的,而多个元素可以共享相同的name

    Id被引用为#here ,名称被引用为[name=here]


    即使他们有时似乎是不可互通的。

    名称应该只存在于表单输入字段上。 这是标签将导致浏览器通过提交作为字段的名称。 Tomalak在评论中指出,DIV实际上没有Name属性。

    ID是DOM的唯一标识符,用于操作或引用标签; 例如,在Javascript中。

    链接地址: http://www.djcxy.com/p/88041.html

    上一篇: Name vs Id attribute in HTML

    下一篇: GET parameter is null, even though I'm passing a value