javascript - getElementsByClassName 产生错误 "undefined"

标签 javascript

<分区>

我有几个 textboxesoutput。我希望能够将它们的值作为纯 HTML 列表打印在 div 中,带有 ID combined。现在,我有以下代码:

function doCombine() {
    document.getElementById('combined').innerHTML =
    document.getElementsByClassName('output').value + ",";  
}

但是,当我运行该函数时,我收到错误消息 undefined。当我在 .value 之前添加一个 [0] 时,它起作用了,但只显示了第一个 textbox 的值。我在某处读到 [i] 会显示所有值,但这似乎不起作用。

我做错了什么?

最佳答案

通过类名获取元素

返回具有所有给定类名的元素集。当在文档对象上调用时,将搜索完整的文档,包括根节点。您还可以在任何元素上调用 getElementsByClassName;它将仅返回具有给定类名的指定根元素的后代元素。

所以你应该这样做

var elements = document.getElementsByClassName('output');
var combined = document.getElementById('combined');
for(var i=0; i < elements.length; i++) { 
  combined.innerHTML += elements[i].value + ",";
}

关于javascript - getElementsByClassName 产生错误 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19289907/

相关文章:

javascript - Protractor 错误 --- TypeError : Cannot read property 'click' of undefined

JavaScript - onmouseover 修改前一个元素的 css 高度

javascript - jquery 设置基础 href

javascript - 如何将 Pace.js 附加到 DOM 中的自定义位置?

javascript - 集成测试与本地存储交互的 JavaScript 的正确方法是什么?

javascript - 创建 Canvas 对象数组

javascript - 改变第二列的颜色

javascript - 如何将网站连接到MYSQL数据库?

javascript - Nodejs POST 请求未发布到数据库并返回 302 响应

javascript - 在有源的情况下使用 HTML 脚本标签进行编码