2016-02-22 54 views
1

这是我的问题:即时尝试创建图像选择器,我的意思是显示在屏幕上的图像集合,其中我可以选择一个并将其存储在var中。这是为所述阵列中的代码:Javascript图像阵列问题

<script typre="text/javascript"> 
    var img = new Array(); 
    img[0] = new Image(); 
    img[0].src = "../images/poggiatesta2.jpg"; 
    img[1] = new Image(); 
    img[1].src = "../images/poggiatesta1.JPG"; 

    for (var i = 0; i < img.length; i++) { 
     document.write(img[i]); 
    }; 

</script> 

当我运行它,它会显示[对象HTMLImageElement]代替图像!我该怎么办??谢谢大家!

+0

你有没有抬头[指出你应该使用'实况为'HTMLImageElement'文档ment.body.appendChild'而不是?](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement) – h2ooooooo

回答

2

因为img[i]是一个对象和document.write将通过调用img[i].toString()其写入作为它的字符串表示。

如果你想显示的图像,然后使用

for (var i = 0; i < img.length; i++) { 
     document.body.appendChild(img[i]); 
}; 
+1

为什么downvote? – gurvinder372

1
var img = new Image(); 
img.src = "../images/poggiatesta2.jpg"; 
document.write(img.outerHTML); 

使用outerHTML属性,以便显示它

0

很明显,因为for循环会打印IMG [0],IMG [1]没有图像 的SRC你可以写img[i].src

var img = new Array(); 
 
     img[0] = new Image(); 
 
     img[0].src = "../images/poggiatesta2.jpg"; 
 
     img[1] = new Image(); 
 
     img[1].src = "../images/poggiatesta1.JPG"; 
 
    
 
     for (var i = 0; i < img.length; i++) { 
 
      alert(img[i].src); 
 
     };

+0

Downvoters请解释 – Dhara