javascript - document.getElementsByClassName 不起作用

标签 javascript

function getHeight(element) {
    console.log(element);
    var offsetHeight = document.getElementsByClassName(element).offsetHeight;
    console.log(offsetHeight);
}
getHeight("card-1");

虽然它仅使用 document.getElementsByClassName(element) 正确地将元素打印到控制台,但我无法访问 offsetHeight 属性,即使使用 document.getElementsByClassName(element)[ 0].offsetHeight

我必须运行一个循环吗?

最佳答案

document.getElementsByClassName(element) 返回元素的 HTMLCollection。集合没有 offsetHeight 属性,集合中的每个元素都有。

现在,如果您想获取第一个匹配元素的 offsetHeight,您只需使用
document.getElementsByClassName(element)[0].offsetHeight

如果您想要所有匹配元素的最大或最小 offsetHeight,您需要迭代集合。

关于javascript - document.getElementsByClassName 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27857095/

相关文章:

javascript - Canvas 线性缩小

javascript - 跨源请求被阻止 : The Same Origin Policy disallows reading the remote resource at https://localhost:8000/users/login

javascript - ui-router 动态创建嵌套状态

javascript - 如何在 Rails 中预填充动态添加的表单输入

javascript - jquery ajax 调用出现问题,成功函数行为不正常

javascript - 自定义 GA 对象名称在 FF 和 IE 中似乎被忽略

javascript - 在 Javascript 中展平和合并对象数组

javascript - Jquery 在解析时将巨大的数组拆分为许多新的回调

javascript - 如何使用 AngularJs 合并两个 JavaScript 数组

javascript - 设置轴刻度标签的格式