设置元素属性具有特定值的元素值

时间:2016-06-30 05:40:52

标签: javascript

我有以下元素

<input type="text" size="4" name="nightly" value="-1">

我想将value设置为15.9。这应该只在name="nightly"

的地方执行

我试过以下

document.getElementsByName('name')['nightly'].setAttribute('value', '15.9');

返回错误:

TypeError: undefined is not an object (evaluating 'document.getElementsByName('name')['nightly'].setAttribute')

2 个答案:

答案 0 :(得分:1)

document.getElementsByName()返回与该名称匹配的所有元素的数组。

如果只返回一个元素,你可以这样做:

document.getElementsByName('nightly')[0].setAttribute('value', '15.9'); //the 0 indicates the first and only element in the array.

如果您期望多个元素可以遍历数组:

var elements = document.getElementsByName('nightly');

for (i = 0; i < elements.length; i++)
{
    elements[i].setAttribute('value', '15.9');
}

答案 1 :(得分:0)

document.getElementsByName('nightly').forEach(function(val) {val.value = 15.9});

我希望这就是你要找的东西。