2010-11-08 144 views
27

我正在使用的沙爹方法在网页中嵌入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,这意味着我需要设置既为nameid属性object

通常我会尽量避免使用HTML中的元素命名冲突,但是在这种情况下将两个属性设置为相同的值有什么问题吗?

HTML表单怎么样?有没有人觉得值得将(n)(input | select | textarea)元素的nameid属性设置为相同的值?

回答

46

您可以使用ID进行JavaScript操作。

您使用表单字段提交的名称。

这两者不相关。因此,将两者设置为相同的值是可以的,但这不是必需的。

+9

此外,ID应该是唯一的,但名称不必是唯一的。 – jordanbtucker 2010-11-08 21:01:33

+0

Ida也用于通过片段标识符进行链接,以及通过在CSS选择器中使用它们的样式 – 2010-11-09 00:39:24

+0

Ids用于简化JavaScript操作,但可以通过JavaScript使用名称做一些事情。 – 2012-11-08 21:15:48

0

我一直这样做(主要是因为一些浏览器过去 - IE想到 - 发送表单数据时只使用名称参数)。使用id使表单验证代码更加清洁,IMO。

+3

浏览器只能*假设*使用名称参数发送表单数据 – Gareth 2010-11-08 21:07:18

+1

虽然你不会使用相同的'name'和'id'值单选按钮或属于组的成员的复选框,因为单选按钮/复选框的组是由它们标识的,并且它们都具有相同的名称。 – 2010-11-08 21:09:25

1

是!这绝对没问题。

ID是客户端的标识符(在DOM仰视当一个元件)

名称表单提交POST期间使用/ GET的值。

在输入元素之外,根本不需要使用名称。但给输入元素ID允许它们以一致的方式在DOM中查找。

5

不仅可以,而且很常见。

ID用于Javascript(对于CSS来说程度较低)。

名称用于表单字段以指定提交值的名称。

但IE的老版本有已知的错误,这意味着在很多情况下你几乎被迫指定它们。 (当然,假设你想支持那些旧版IE浏览器!)

但要记住的一点是,ID必须是唯一的。因此,如果您的单选按钮都具有相同的名称,则不能为它们全部使用相同的ID。不过,在其他大多数情况下,让它们保持一致是完全正确的。

1

我刚刚发现HTML4 answer to my question

ID和名称属性共享同一个名字空间。这意味着它们不能在同一个文档中定义具有相同名称的锚点。允许使用这两个属性来为以下元素指定元素的唯一标识符:A, APPLET, FORM, FRAME, IFRAME, IMG, and MAP当两个属性都用于单个元素时,它们的值必须相同。

现在,我认为该规则被应用于appletiframe应,推而广之,工作objectembed标签。无论如何,使用相同的名称& ID迄今为止没有产生任何异常事件。

相关问题