javascript - getElementsByClassName 更改输入值

标签 javascript forms input getelementsbyclassname

我有一个 javascript 包含的输入标记。生成的输入标签如下所示:

<input class="mylivechat_prechat_name_box mylivechat_prechat_box" type="text">

有什么方法可以将变量添加到输入标记值的末尾吗?

我尝试使用 JavaScript 来设置表单字段:

var myClassName =  document.getElementsByClassName('mylivechat_prechat_name_box mylivechat_prechat_box');
i = myClassName.length;
myClassName[i].value = "TheseAreMyChanges";

但是,我收到错误

Uncaught TypeError: Cannot set property 'value' of undefined

最佳答案

数组是从零开始的,因此如果您读取长度并使用该索引,它会比最高元素多1。尝试读取数组边界之外的元素将返回 undefined - 因此请使用 length-1:

var myClassName =  document.getElementsByClassName('mylivechat_prechat_name_box mylivechat_prechat_box');
var i = myClassName.length;
myClassName[i-1].value = "TheseAreMyChanges";

关于javascript - getElementsByClassName 更改输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38102217/

相关文章:

javascript - 解析 Facebook 登录在 ionic View 中不起作用

php - 选择列表作为数组变量一旦保存到 MySQL 就无法重新保存为未选择

javascript - 正则表达式 |模式属性值不是有效的正则表达式 : Uncaught SyntaxError: Invalid regular expression

C++ 程序不能完全读取大量输入。为什么?

html - 输入字段的大小可以设置为百分比值吗?

javascript - 框架/插件可用于基于 ajax 的单页应用程序,后端为 ASP.NET MVC 3

javascript - 在 Javascript 中引用 Go 数组

javascript - 尝试使用 fs 访问目录时出现错误 : ENOENT: no such file or directory, open

php - 以动态生成的形式使用数组中的 id

javascript - AngularJS 指令添加了类,我很困惑