0

这是我的html:

<div class="myFormField">
     <input type="text" class="myFormField city" value="" name="city" id="city">
</div>

我正在尝试设置以下内容,但它不起作用,当我使用警报进行测试时它返回未定义:

document.getElementsByClassName("myFormField city").value = "New York";

任何帮助表示感谢!

4

4 回答 4

2

它应该是:

document.getElementsByClassName("myFormField city")[0].value = "New York";

请查看以下文档getElementsByClassName

“返回一组具有所有给定类名的元素。”

getElementsByClassName返回一元素,因此您需要访问该集合中的特定元素以给它一个值 - 集合的第一个元素是[0],第二个是[1]等等。

jsFiddle在这里。

于 2013-06-17T10:08:45.580 回答
2
document.getElementsByClassName("myFormField city")

将返回元素数组

所以用

document.getElementsByClassName("myFormField city")[0].value
于 2013-06-17T10:09:44.440 回答
1

请注意,document.getElementsByClassName获取具有给定类名的元素数组。所以你的代码应该是,

document.getElementsByClassName("myFormField city")[0].value = "New York"
于 2013-06-17T10:10:33.263 回答
0

你也有身份证

document.getElementById("city").value = "New York";

于 2013-06-17T10:11:05.907 回答