1

这是我当前的 javascript 代码

var image = iframe.contentWindow.document.getElementsByClassName('productVisu').getElementsByTagName('img').getAttribute('src');

这适用于检索图像的 URL 属性。但是,当我尝试这个 jquery 版本时:

var iframe = document.getElementsByTagName('iframe')[0];
var doc = iframe.contentWindow.document;
var image = $('iframe').contents().find('.productVisu').$('img').attr('src');

我得到这不是一个函数的 Firefox 错误。如何解决此问题并使 jquery 版本正常工作?

谢谢

4

3 回答 3

3

改变这个:

$('iframe').contents().find('.productVisu').$('img').attr('src');

至:

$('iframe').contents().find('.productVisu img').attr('src');
于 2013-03-01T16:59:24.060 回答
1

我不确定您的原始代码是如何工作的,因为getElementsByClassNamegetElementsByTagName返回节点列表,而不是单个节点。

试试这个:

var image = iframe.contentDocument.querySelector(".productVisu img").src;

当你可以使用Vanilla JS时,永远不要使用 jQuery 。这就像用大锤转动螺丝一样。

于 2013-03-01T17:03:07.943 回答
1

我不明白您的示例中前两行代码的必要性。你可以很容易地做到这一点:

var image = $('iframe').eq(0).find('.productVisu img').attr('src');
于 2013-03-01T17:04:31.373 回答