图像id的变量

时间:2013-02-01 08:59:51

标签: javascript random image identifier

我有这些:

<th  scope="col"> 
        <img style="height:200px" id="img1"  src=""></div>
    </th>


   <th scope="col">
         <img id="img2" src=""></div>
  </th>

   <th scope="col">
        <img id="img3" src=""></div>
    </th>

我想用以下代码加载一张随机图片:

var images = ['"image1.jpg"', '"image2.jpg"', '"image3.jpg"', '"image4.jpg"', 'image5.jpg'];
var longitut = images.length;

for(i=0;i<3;i++){


    // Random Image 
    var num = Math.floor(Math.random()*longitut) ;
    var foto=images[num]; 
    var current='"img'+i+'"';
    alert(foto);

    var objecte =document.getElementById(current);

    objecte.src=foto;

问题是img src无法正常工作,我无法发现错误。

4 个答案:

答案 0 :(得分:1)

您没有选择任何元素。

变化:

var current = '"img' + i + '"';  // If i is 5 it produces '"img5"'

为:

var current = 'img' + i;  // ==> 'img5'

另外,删除图像数组中的引号:

'"image1.jpg"' -> 'image1.jpg'

答案 1 :(得分:0)

you have to make this changes
<th  scope="col"> 
        <img style="height:200px" id="img1"  src=""></div>
    </th>


   <th scope="col">
         <img id="img2" src=""></div>
  </th>

   <th scope="col">
        <img id="img3" src=""></div>
    </th>

And I wanna load one random pic in each with the following code :

var images = ['"image1.jpg"', '"image2.jpg"', '"image3.jpg"', '"image4.jpg"', 'image5.jpg'];
var longitut = images.length;

for(i=0;i<3;i++){


    // Random Image 
    var num = Math.floor(Math.random()*longitut) ;
    var foto=images[num]; 
    **var current="image"+i+".jpg";**
    alert(foto);

    var objecte =document.getElementById(current);

    objecte.src=foto;

答案 2 :(得分:0)

你有一个错误就是你有额外的引用

应如下所示:

var images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg'];

var current='img'+i;

我们图片的ID是img1img2img3。 html代码中的双引号是语法的一部分,而不是ID。

但是在您的代码中,您将双引号添加到您尝试搜索的ID中:

var current='"img'+i+'"';

所以你找不到任何元素。 如果您解决了这个问题,您的图像仍然会出现问题。这与你对ids的原因相同。 (您尝试使用src "image1.jpg"加载图片,但是您想要加载image1.jpg

答案 3 :(得分:0)

请尝试下面的html和javascript:

<th  scope="col"> 
<img id="img1" style="height:200px" src="" />
</th>
<th scope="col">
<img id="img2" src="" />
</th>
<th scope="col">
<img id="img3" src="" />
 </th>

使用Javascript:

var images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg'];
var longitut = images.length;
for(i=1;i<=3;i++){
// Random Image 
var num = Math.floor(Math.random()*longitut) ;
var foto=images[num]; 
var current='#img'+i;
$(current).attr("src",foto);
}