document.getElementbyID和循环

时间:2013-01-20 09:16:55

标签: javascript

<body> 
    <div id="page"> 
    <img id="slot0" class=slot src="crab.gif" width="120" height=80>
    <img id="slot1" class=slot src="sun.gif" width="120" height=80>
    <img id="slot2" class=slot src="sail.gif" width="120" height=80>

下面我想用y代替0,1和&amp; 2

var slotValues = new Array(3);
var slots = new Array ('0','1','2');

for (y=0;y<=slots.length;y++){

slotValues.push (document.getElementById("slot" + slots[y]));}

但IE说document.getElementById("slot" + slots[y])不是一个对象,虽然我认为它是,如果我将slot[ y]更改为0,它可以找到,但它不是动态的。 你能否检查我哪里出错了。

1 个答案:

答案 0 :(得分:1)

  

IE表示它不是一个对象。但它是

相信知道DOM的人。

你的问题似乎是你的for (y=0;y<=slots.length;y++) - 循环迭代0,1,2和3,因为3 < slots.length - 但你的数组只有3个项目而slots[3]是{{ 1}}。将你的循环改为

undefined