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;
});
我有一个 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;
});