javascript GetElementsByCassName值错误

javascript GetElementsByCassName值错误,javascript,class,get,Javascript,Class,Get,我在javascript弹出窗口中有一个小函数,我想知道getElementByClassName函数是否会返回一个包含该类所有元素的数组,而不是为什么当我发出警报时,它会说object Html input element,而不管我的表单编号字段(空格或一些数字)中有什么。那么我如何从该数组中获取值呢 var arr = document.getElementsByClassName('num'); function popUp(){ for(var i = 0;i < ar

我在javascript弹出窗口中有一个小函数,我想知道getElementByClassName函数是否会返回一个包含该类所有元素的数组,而不是为什么当我发出警报时,它会说object Html input element,而不管我的表单编号字段(空格或一些数字)中有什么。那么我如何从该数组中获取值呢

 var arr = document.getElementsByClassName('num');

function popUp(){
    for(var i = 0;i < arr.length;i++){
        alert(arr[i]);
    }
}
var arr=document.getElementsByClassName('num');
函数popUp(){
对于(变量i=0;i
以下是HTML:

<form id = "matrix">

<input type = "number" class = "num" />
<input type = "number" class = "num" />

<input type = "number" class = "num" />
<input type = "number" class = "num" />

<input type = "button" value = "count" id = "count" onclick = "popUp()"/>
</form>
</div>

使用.value

如果需要与IE8兼容,则不应使用

type = "number"
它是HTML5,不受IE8-支持。

改为使用type=“text”。

document.getElementsByCassName()
返回DOM元素的集合,因此
arr[i]
获取DOM元素,而不是元素中的内容。如果需要来自该DOM元素的属性,如
输入
标记的
,则必须引用所需的属性,如
.value

var arr = document.getElementsByClassName('num');

function popUp(){
    for(var i = 0;i < arr.length;i++){
        alert(arr[i].value);
    }
}
var arr=document.getElementsByClassName('num');
函数popUp(){
对于(变量i=0;i
GetElementsByCassName将返回所有匹配html元素的列表。通过调用alert(arr[i]),您告诉客户端显示元素,而不是它的值,这就是为什么警报消息告诉您它是一个html输入。要显示元素的值,请使用以下命令

alert(arr[i].value);

它返回一个类似数组的元素对象(实际上是一个HTMLCollection),而不是值。这在HTML5中是新的。如果jQuery可以放弃对IE8的支持,我认为初学者可以放弃对IE8的支持…@Tomer Arazy:jQuery并行开发2.0和1.9.1。2.0基本上是1.9.1,去掉了对IE8的支持,以加快速度。现在,您可以使用1.9.1。IE8只会在2014年windows XP支持结束时消失。在我的公司,我们认为我们可以放弃对IE8的支持,但这是一个多么大的错误——然后,关于空白/黑页的投诉开始出现(特别是在客户的产品演示中)。。。IE8将在这里停留一段时间,但是的,一个私人使用的初学者可以忽略它。
alert(arr[i].value);