我有一个div类,其中有多个图像,没有特定的id。
希望在您点击图片时,徽标会显示在其他位置。
<div class="gs-image-box"> <a href="http://www.car-logos.org/audi" target="_blank" class="gs-image gs-image-scalable"><img src="http://t0.gstatic.com/images?q=tbn:ANd9GcTfBGu4EqulBN9htr_1tQD_xHtayahqbhMYc31ZhTh_PNuga76Wx4_Asg" title="Audi | Audi Car logos and Audi car company logos worldwide" class="gs-image gs-image-scalable" style="width: 84px; height: 84px;"></a>
</div>
<div class="gs-image-box"> <a href="http://logok.org/audi-logo/" target="_blank" class="gs-image gs-image-scalable"><img src="http://t2.gstatic.com/images?q=tbn:ANd9GcRFmGT17faZJ1OBpW8IR7ZuQr4GqmLM1oWuu-RTo3JJHaRur-p17FuMCVI" title="Audi logo | Logok" class="gs-image gs-image-scalable" style="width: 112px; height: 84px;"></a>
</div>
因此我使用getElementsByTagName
,这里有详细的代码http://fiddle.jshell.net/g1e25r6p/1/
但是,它仅适用于第一个标记[0]
,而不适用于第二个标记[1]
我现在已经坚持了几天,有没有人有想法,怎么做或我做错了什么?
答案 0 :(得分:2)
第一个问题:
var badgeimg2 = imageresult[1].getElementsByTagName('img')[1];
应该是
var badgeimg2 = imageresult[1].getElementsByTagName('img')[0];
第二个问题(在badgeimg2的事件监听器代码中):
var imgsrc = badgeimg.src;
应该是:
var imgsrc = badgeimg2.src;
答案 1 :(得分:1)
在检查chrome控制台之前,不应该问这个问题。 你的代码得到了“Uncaught TypeError”。 像这样写你的代码,它会起作用:
var badgeimg2 = document.getElementsByTagName('img')[1];
badgeimg2.addEventListener("click", function(event){
event.preventDefault();
var xu = document.getElementById('logo');
var imgsrc = badgeimg2.src;
xu.src=imgsrc;
});