为什么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">
谢谢。
答案 0 :(得分:4)
getElementsByClassName
会返回HTMLCollection,因此要访问此集合中的第一个找到的元素,您需要使用[0]
索引:
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);
答案 1 :(得分:2)
getElementsByClassName(...)
返回元素列表。请注意方法名称中的复数s
!使用getElementsByClassName(...)[0]
访问列表中的第一个元素。
var tes = document.getElementsByClassName('a_b_1')[0]
var tes_val = tes.value
console.log(tes_val) //=> "1|2|3"
&#13;
<input type="hidden" class="a_b_1" name="c_d_1" value="1|2|3">
&#13;
答案 2 :(得分:0)
document.getElementsByClassName所有子元素的类似数组的对象。
所以你必须通过传递索引
来选择特定元素var tes = document.getElementsByClassName('a_b_1');
var tes_val = tes[0].value;
console.log(tes_val);
答案 3 :(得分:0)
var tes = $('.a_b_1');
var tes_val = tes.val();
console.log(tes_val);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="hidden" class="a_b_1" name="c_d_1" value="1|2|3">
将.val()
用于jquery