javascript - 为什么我在使用 `undefined` 时得到 `document.getElementsByClassName(...).value` ?

标签 javascript jquery html

为什么我得到 undefined 作为 console.log(tes_val) 的结果?我该如何解决?

var tes = document.getElementsByClassName('a_b_1');
var tes_val = tes.value;
console.log(tes_val);
<input type="hidden" class="a_b_1" name="c_d_1" value="1|2|3">

谢谢。

最佳答案

getElementsByClassName返回 HTMLCollection , 所以为了访问这个集合中第一个找到的元素,你需要使用 [0] index:

var tes_val = tes[0].value;

但是,这种使用 API 的方式很笨拙。如果您只对类 a_b_1 的第一个元素感兴趣,请使用 Document.querySelector方法:

var tes = document.querySelector('.a_b_1');
var tes_val = tes.value;
console.log(tes_val);

关于javascript - 为什么我在使用 `undefined` 时得到 `document.getElementsByClassName(...).value` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42690857/

相关文章:

javascript - 使用reactjs分割数组值

javascript - jQuery 延迟对象

javascript - for循环不在迭代语句中递增

html - 文本前几个词后的空闲空间

javascript - 我如何更改 :after on a WordPress navigation when user scrolls down?

javascript - Facebook JavaScript

javascript - 根据用户 View 更新 D3.JS 可滚动折线图上的轴

javascript - Jquery Cycle + Firefox 压缩图像

html - 多个盒子中的不同颜色

html - 如何在没有复制设置的情况下在 2 个类中应用这些 CSS?