你可以获得像这样的html元素
document.forms[0].elementName
然而,如果多个元素共享该名称,那么在javascript中是否会产生冲突?或者我应该只使用ID。谢谢。
单选按钮需要相同的名称
答案 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文档中具有给定名称的元素列表。
关键是“列表”;如果有多个匹配,它将返回所有匹配的列表。