如何在javascript中按名称访问元素?
页面包含没有id的元素-仅包含名称。如何像这样通过javascript访问它们如何在javascript中按名称访问元素?,javascript,Javascript,页面包含没有id的元素-仅包含名称。如何像这样通过javascript访问它们 document.getElementById('id').value := "..."; 更新: 谢谢大家!是否可以使用指定值的单选按钮访问元素 <nobr><label><input style="vertical-align:middle" type="radio" name="name" value="value1" checked="checked"/><span
document.getElementById('id').value := "...";
更新:
谢谢大家!是否可以使用指定值的单选按钮访问元素
<nobr><label><input style="vertical-align:middle" type="radio" name="name" value="value1" checked="checked"/><span style="vertical-align:middle" class="label">value1</span></label></nobr><br/>
<nobr><label><input style="vertical-align:middle" type="radio" name="name" value="value2"/><span style="vertical-align:middle" class="label">value2</span></label></nobr><br/>
使用document.getElementsByName'elementName'。这将为您提供一个类似数组的集合,通过索引获取元素使用document.getElementsByName'elementName'。这将为您提供一个类似数组的集合,通过索引获取元素
document.getElementsByName('name')
这将返回一个节点列表,您可以像访问数组一样访问它
这将返回一个节点列表,您可以像数组一样访问它。有一个DOM HTML方法,它返回一组具有该名称的节点。请注意,name属性不要求是唯一的,因此您可能会得到多个,并且返回的集合是活动的,因此添加或删除具有主题名称的元素将修改集合。有一个DOM HTML方法,它返回一组具有该名称的节点。请注意,name属性不要求是唯一的,因此您可能会得到多个,并且返回的集合是活动的,因此添加或删除具有主题名称的元素将修改集合。其他答案涵盖了您的原始问题。关于按值访问的更新,没有getElementsByValue函数,但是如果您打算选择同时具有指定名称和值的特定单选按钮,则可以执行以下操作:
function getElementByNameAndValue(n, v) {
var els = document.getElementsByName(n),
i;
for (i=0; i < els.length; i++)
if (els[i].value == v)
return els[i];
return null;
}
var r = getElementByNameAndValue("name", "value1");
上述函数将返回对第一个匹配元素的引用,如果没有匹配,则返回null。如果您想允许多个具有相同名称和值的元素,您可以修改它以返回一个数组,尽管我不知道为什么您会有多个具有相同名称和值的元素,至少不能使用单选按钮
请注意,这也可以很容易地修改,以返回对当前选中元素的引用,只需将循环中的if更改为if els[i].checked
您可以使用jQuery完成部分或全部操作,但我自己不使用它,因为我需要支持较旧的IE。您完全可以用一行jQuery替换上面的所有内容。其他答案涵盖了您的原始问题。关于按值访问的更新,没有getElementsByValue函数,但是如果您打算选择同时具有指定名称和值的特定单选按钮,则可以执行以下操作:
function getElementByNameAndValue(n, v) {
var els = document.getElementsByName(n),
i;
for (i=0; i < els.length; i++)
if (els[i].value == v)
return els[i];
return null;
}
var r = getElementByNameAndValue("name", "value1");
上述函数将返回对第一个匹配元素的引用,如果没有匹配,则返回null。如果您想允许多个具有相同名称和值的元素,您可以修改它以返回一个数组,尽管我不知道为什么您会有多个具有相同名称和值的元素,至少不能使用单选按钮
请注意,这也可以很容易地修改,以返回对当前选中元素的引用,只需将循环中的if更改为if els[i].checked
您可以使用来完成部分或全部操作,但我自己不使用它,因为我需要支持旧版IE。您完全可以用一行jQuery来替换上面的所有操作。document.getElementByName未定义。仅复数形式存在。document.getElementByName未定义。只有复数形式。谢谢你的帮助!我的名字是n。谢谢你的帮助!我的名字是n。