尝试将click事件处理程序附加到每个图像,然后在单击图像时向SRC发出警报。
HTML:
<img src="http://www.lorempixel.com/100/200">
<img src="http://www.lorempixel.com/200/200">
<img src="http://www.lorempixel.com/400/200">
<img src="http://www.lorempixel.com/200/200">
JavaScript的:
var pics = document.getElementsByTagName('IMG');
for (x=0; x < pics.length; x++) {
pics[x].addEventListener('click', function(){
alert(pics[x].getAttribute('src'));
}, false);
}
我知道这很简单,我搞砸了,但我无法理解。
答案 0 :(得分:1)
添加事件侦听器时,必须引用单击的元素而不是循环元素
因此,它不会是pics[x]
而是this
(指的是点击的元素)。
这是一个jsFiddle:
http://jsfiddle.net/Hbc4M/
var pics = document.getElementsByTagName('IMG');
for ( x=0; x < pics.length; x++ ) {
pics[x].addEventListener('click', function(){
alert(this.getAttribute('src'));
}, false);
}