我有这段代码:
<select name="commentselected" id="commentselected">
<option value="0">Text for Value 0</option>
<option value="1">Text for Value 1</option>
<option value="2">Text for Value 2</option>
</select>
我尝试使用此命令更改值:
document.getElementsByName('commentselected').selectedIndex[2];
但它不起作用。有什么想法吗?
答案 0 :(得分:1)
getElementsByName
返回一个元素数组 an HTMLCollection,需要将其编入索引。
此外,selectedIndex是属性,需要设置
document.getElementsByName('commentselected')[0].selectedIndex = 2;
此外,由于您的选择已经有了ID,因此您也可以使用getElementById
,like this
答案 1 :(得分:0)
正如Adam所说,你需要设置属性和getElement * s * - 注意复数 - 返回一个数组,即使该数组只包含1个元素。所以,如果您有多个名为“commentselected”的元素,要进入您的选择,您将不得不循环遍历数组并搜索'type = select'...不是非常有效的代码
如果您需要访问1个元素,则使用getElementById ...这就是ID属性唯一的原因,以确保只有一个具有该ID的元素。