使用javascript命名属性

时间:2012-03-02 19:42:14

标签: javascript html

你可以获得像这样的html元素

document.forms[0].elementName

然而,如果多个元素共享该名称,那么在javascript中是否会产生冲突?或者我应该只使用ID。谢谢。

单选按钮需要相同的名称

4 个答案:

答案 0 :(得分:0)

这不是冲突,但你应该在同一表格中为不同的输入或组使用唯一的名称(是的,Diodeus我指的是单选按钮)。

你可能需要在同一个表单中使用相同名称的元素,而你的表达式的结果将是一个具有相同名称的元素数组,但正如你所说,这会带来混乱。

看看这个例子:http://jsfiddle.net/gion_13/J6yJr/(查看控制台);

你应该使用你更舒服的任何东西;您可以使用名称,ID或任何其他选择器,只要它们有效且有意义。这实际上取决于html标记结构和编码风格。

例如:您将使用以下哪一项?

document.getElementById('e-mail');
document.getQuerySelectorAll('#e-mail[type=email]');
document.forms[0]['e-mail'][n];

答案 1 :(得分:0)

以下内容将为您提供这些元素的数组(nodeList):

    document.getElementsByName("name")

答案 2 :(得分:0)

没有冲突,因为具有相同名称的多个元素完全没问题(例如,想一组radiobox,共享相同的名称),在这种情况下,引用不是单个节点而是节点集合

无论如何,如果您通过id访问元素,您可以避免任何可能的问题(因为它们在页面中必须是唯一的)

答案 3 :(得分:0)

它甚至不适用于您的代码,它返回调用它的DOM元素的元素名称。那里不可能存在“冲突” - 它的名字就是它的名字。

如果您执行documentgetElementsByName("myname");,我会按照MDN

  

返回HTML文档中具有给定名称的元素列表。

关键是“列表”;如果有多个匹配,它将返回所有匹配的列表。