document.images未加载在chrome或firefox上,但已加载在IE上

document.images not loaded on chrome or firefox, but it is loaded on IE

本文关键字:加载 IE images chrome document firefox      更新时间:2023-09-26

我有一个锚定标签<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。你对解决这个问题有什么建议吗?!

document.getElementsByTagName('img')不适合您吗?

它不返回数组,而是返回节点列表。如果你需要一个阵列:

 var imgNodes = document.getElementsByTagName('img');
 var images = [].slice.call(imgNodes);

您的<img>标记位于框架中的不同文档中。

首先解析主文档中的右侧框架对象。如果你有一个框架的名称,那么做如下操作:

var frame = document.querySelector("frame[name='NAME']");

如果你不命名你的帧,那么你将不得不在document.getElementsByTagName('frame'); 返回的帧数组上索引帧

要访问文档中的所有图像,您可以执行以下操作:

frame.contentDocument.images

frame.contentDocument.getElementsByTagName("img")

或者使用jQuery。

$('img').each(function(){
        // do something with $(this).
});