我有一个锚标记<a>
,其中包含图像标记<img>
,我在该锚标记上调用javascript函数,如下所示:
<a href="javascript: foo();"><img ...></a>
<a href="javascript: foo();"><img ...></a>
<a href="javascript: foo();"><img ...></a>
在foo()
内部,我使用document.images
来检索包含3个图像的数组。它在IE中运行良好,但它不适用于chrome和firefox!
document.images.length
在IE上返回3,在Chrome和Firefox上返回0。您有什么建议可以解决这个问题吗?!
答案 0 :(得分:4)
document.getElementsByTagName('img')
不会为你效劳吗?
它不返回数组,而是返回节点列表。如果你需要一个数组:
var imgNodes = document.getElementsByTagName('img');
var images = [].slice.call(imgNodes);
答案 1 :(得分:3)
您的<img>
标记位于框架中的其他文档中。
首先解析主文档中的右框架对象。如果您有框架的名称,请执行以下操作:
var frame = document.querySelector("frame[name='NAME']");
如果你没有命名你的帧,那么你必须索引document.getElementsByTagName('frame');
要访问文档中的所有图像,您可以执行以下操作:
frame.contentDocument.images
或
frame.contentDocument.getElementsByTagName("img")
答案 2 :(得分:-1)
或者使用jQuery。
$('img').each(function(){
// do something with $(this).
});