Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中按名称访问元素?_Javascript - Fatal编程技术网

如何在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

页面包含没有id的元素-仅包含名称。如何像这样通过javascript访问它们

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。