Javascript中div类中的getElementsByTagName

时间:2015-07-14 03:31:52

标签: javascript html getelementsbytagname

我有一个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]

我现在已经坚持了几天,有没有人有想法,怎么做或我做错了什么?

2 个答案:

答案 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;

});