gpt4 book ai didi

html - 名称属性在 HTML 文档中是否必须是唯一的?

转载 作者:技术小花猫 更新时间:2023-10-29 11:33:40 25 4
gpt4 key购买 nike

我记得有一次在规范中读到 id 属性和 name 属性共享相同的命名空间并且必须是唯一的。从今以后,我一直试图在我的应用程序中满足这一要求,甚至害怕为同一元素提供相同的 idname

但最近我开始使用 ASP.NET MVC 3,它(像 PHP)可以在多个输入控件上使用相同的 name 属性以在服务器端形成值集合.我试图查找规范中的相关部分 - 但没有找到。也许我当时误解了什么,或者阅读了错误的文档?

那怎么办?我想生成尽可能有效的 HTML(不同应用程序中的 4.01 和 5)。我能毫无畏惧地使用这一招吗?还是我会违反某些事情并且应该更好地坚持独特的值(value)观?

最佳答案

name属性仅在 <form> 上有效和表单元素( <input><textarea><select> )。它用于指定 name与在表单帖子上提交的名称/值对相关联。

例如:

<input type="checkbox" name="foo" value="1" />

如果选中将提交 foo=1 .在 DOM 中,您可以引用 form.elements 中的表单元素通过指定 name 进行收集作为索引。如果name不是唯一的,集合返回一个元素数组而不是元素。现代 DOM 支持按名称查找表单元素:

 document.getElementsByName(nameValue)

注意:即使只找到一个元素,它也总是返回一个数组。

id attribute 来自 XML 世界,是任何节点的唯一标识,而不仅仅是表单元素。不同于 name属性它在任何 HTML 节点上都有效。也喜欢 name属性,它必须遵循有效的标识符规则。标识符应以 alpha 开头,并且仅包含 alpha ( [a-zA-Z] )、数字、连字符、下划线和冒号(请注意 ASP.NET 通过以下划线开头保留的 ID 打破了此规则 - 因此它们将始终无法通过 HTML/XML lint - 实际上一些代理会剥离它们)。通过 id 查找任何 HTML 元素你使用:

document.getElementById(idvalue)

这只会返回一个 DOM 节点。

关于html - 名称属性在 HTML 文档中是否必须是唯一的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5518458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com