具有动态ID的getElementById用于onclick更改图像

时间:2014-09-24 15:58:18

标签: javascript html razor dynamic

我有id = image1 image2 image3等....并且想要使用一个getElementById。 我怎样才能做到这一点?我可以在xxxxxxx中添加什么?

HTML:
<img id="image@(i.ToString)" onclick=diffImage(this) src="http://idratherbewriting.com/wp-content/uploads/2013/03/minusb.jpg" data-toggle="collapse" data-target="#demo@(i.ToString)" /> 

JavaScript:
function diffImage(img) {
var image = document.getElementById(xxxxxxx);
if (image.src.match("http://idratherbewriting.com/wp-content/uploads/2013/03/minusb.jpg")) {
image.src = "http://idratherbewriting.com/wp-content/uploads/2013/03/plus3.jpg";
  } else {
 image.src = "http://idratherbewriting.com/wp-content/uploads/2013/03/minusb.jpg";
   }
}

2 个答案:

答案 0 :(得分:2)

您似乎想要在点击时更改图像。由于您将this发送给函数,因此您不需要document.getElementById(),因此参数中包含元素。

试试这个:

function diffImage(image) {
    if (image.src.match("http://idratherbewriting.com/wp-content/uploads/2013/03/minusb.jpg")) {
        image.src = "http://idratherbewriting.com/wp-content/uploads/2013/03/plus3.jpg";
    } else {
        image.src = "http://idratherbewriting.com/wp-content/uploads/2013/03/minusb.jpg";
    }
}

答案 1 :(得分:1)

for (var i=1; i < 5; i++) {
  var image = document.getElementById('image' + i);
}