HTML元素与[id]具有相同的[名称]可以吗?
我正在使用的沙爹方法在网页中嵌入Flash应用程序:HTML元素与[id]具有相同的[名称]可以吗?
<object type="application/x-shockwave-flash" data="embeddy.swf"
id="embeddy" name="embeddy">
<param name="movie" value="embeddy.swf" />
</object>
我想闪光灯提供ExternalInterface.objectID
正确objectID
,这意味着我需要设置既为name
和id
属性object
。
通常我会尽量避免使用HTML中的元素命名冲突,但是在这种情况下将两个属性设置为相同的值有什么问题吗?
HTML表单怎么样?有没有人觉得值得将(n)(input
| select
| textarea
)元素的name
和id
属性设置为相同的值?
您可以使用ID进行JavaScript操作。
您使用表单字段提交的名称。
这两者不相关。因此,将两者设置为相同的值是可以的,但这不是必需的。
我一直这样做(主要是因为一些浏览器过去 - IE想到 - 发送表单数据时只使用名称参数)。使用id使表单验证代码更加清洁,IMO。
浏览器只能*假设*使用名称参数发送表单数据 – Gareth 2010-11-08 21:07:18
虽然你不会使用相同的'name'和'id'值单选按钮或属于组的成员的复选框,因为单选按钮/复选框的组是由它们标识的,并且它们都具有相同的名称。 – 2010-11-08 21:09:25
是!这绝对没问题。
ID是客户端的标识符(在DOM仰视当一个元件)
名称表单提交POST期间使用/ GET的值。
在输入元素之外,根本不需要使用名称。但给输入元素ID允许它们以一致的方式在DOM中查找。
不仅可以,而且很常见。
ID用于Javascript(对于CSS来说程度较低)。
名称用于表单字段以指定提交值的名称。
但IE的老版本有已知的错误,这意味着在很多情况下你几乎*指定它们。 (当然,假设你想支持那些旧版IE浏览器!)
但要记住的一点是,ID必须是唯一的。因此,如果您的单选按钮都具有相同的名称,则不能为它们全部使用相同的ID。不过,在其他大多数情况下,让它们保持一致是完全正确的。
我刚刚发现HTML4 answer to my question:
ID和名称属性共享同一个名字空间。这意味着它们不能在同一个文档中定义具有相同名称的锚点。允许使用这两个属性来为以下元素指定元素的唯一标识符:
A, APPLET, FORM, FRAME, IFRAME, IMG, and MAP
。 当两个属性都用于单个元素时,它们的值必须相同。
现在,我认为该规则被应用于applet
和iframe
应,推而广之,工作object
和embed
标签。无论如何,使用相同的名称& ID迄今为止没有产生任何异常事件。
此外,ID应该是唯一的,但名称不必是唯一的。 – jordanbtucker 2010-11-08 21:01:33
Ida也用于通过片段标识符进行链接,以及通过在CSS选择器中使用它们的样式 – 2010-11-09 00:39:24
Ids用于简化JavaScript操作,但可以通过JavaScript使用名称做一些事情。 – 2012-11-08 21:15:48