div class in Javascript 中的 getElementsByTagName

getElementsByTagName inside a div class in Javascript

我有一个 div class,其中有多个没有特定 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]

我已经坚持了好几天了,有没有人知道如何做或者我做错了什么?

第一期:

var badgeimg2 = imageresult[1].getElementsByTagName('img')[1];

应该是

var badgeimg2 = imageresult[1].getElementsByTagName('img')[0];

第二期(badgeimg2事件监听代码中):

var imgsrc = badgeimg.src;

应该是:

var imgsrc = badgeimg2.src;

在您检查 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;

});