Javascript - 从DOM元素传递到数组

时间:2014-09-25 21:05:03

标签: javascript dom innerhtml getelementsbyclassname

您好,谢谢您的时间。

以下是代码:

<script>
var names = document.getElementsByClassName('xx');
var ar = [];
for (var i = 0, c = names.length ; i < c ; i++) {
ar[i] = names[i].innerHTML;
alert(ar[i]);// the results are : undefined
}
</script>`

我尝试使用方法tostring,或者将结果推送到数组中但没有成功。

由于

2 个答案:

答案 0 :(得分:0)

ar.length等于0,因为你只是声明了数组,但是没有把任何东西放进去。我想你想做的是以下几点:

var names = document.getElementsByClassName('xx');
var ar = [];
for (var i = 0 ; i < names.length ; i++) {
ar[i] = names[i].innerHTML;
alert(ar[i]);
}

答案 1 :(得分:0)

您的主要问题似乎已修复。在尝试运行代码之前确保已加载DOM,并且循环中不需要两个变量。简化如下:

window.onload = function () {
    var names = document.getElementsByClassName('xx');
    var ar = [];

    for (var i = 0 ; i < names.length ; i++) {
        ar[i] = names[i].innerHTML;
        alert(ar[i]);
    }
};

Fiddle