仅使用Javascript选择没有类或ID的图像

时间:2014-10-30 12:04:21

标签: javascript

好的..这可能是一个挑战。基本上我需要选择一个图像,我希望它每隔几秒就会淡入淡出。

在正常情况下,它会相当简单......但问题是我正在研究的网站有一定的限制。

首先图像没有ID或类(只有alt文本,我不能编辑它来添加一个类) - 它坐在一个有类的表中,但我似乎无法弄清楚如何向下钻取以使用Javascript选择特定图像....系统也不支持jQuery。

我可以使用CSS做到没问题:TABLE.tableClass TD.tdClass IMG {} 但不幸的是,系统只能在IE7 / 8中查看,因此CSS3不是使图像闪烁的选项。

如果有人有任何建议我真的很感激。最好的是我能想到的是选择表格,然后是td,然后是第一张图片......但我似乎无法弄清楚如何在js中完成。

非常感谢提前!

2 个答案:

答案 0 :(得分:3)

您可以使用document.querySelector查找元素(或document.querySelectorAll以获取所有匹配元素的列表):

document.querySelector('TABLE.tableClass TD.tdClass IMG');

但是,IE 7不支持此功能。getElementsByClassName() ...

也不支持

您可能需要考虑完全放弃对IE7的支持。很多主要网站都不再支持IE7了。越来越多的网站/图书馆也放弃了对IE *的支持。

答案 1 :(得分:1)

如果您能够编写一个CSS选择器来定位您所追踪的特定IMG元素,那么如果有多个可能的候选人,您可以始终使用document.querySelector()document.querySelectorAll()

var allImagesMatching = document.querySelectorAll('table.tableClass td.tdClass img');

for (var i = 0; i < allImagesMatching.length; ++i) {
    var imgElement = allImagesMatching[i];
    // Do stuff here...
}

或者,只是为了解决第一次匹配:

var imgElement = document.querySelector('table.tableClass td.tdClass img');
// Do stuff here...