Jquery的attr()方法不工作,但javascript版本可以

jquery attr() method doesn't work but javascript version does

本文关键字:javascript 版本 工作 attr 方法 Jquery      更新时间:2023-09-26

这是我当前的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版本的工作?

谢谢

修改如下:

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

:

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

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

试试这个:

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

当你可以使用香草JS时,不要使用jQuery。这就像用大锤拧螺丝。

我不明白在您的示例中需要前两行代码。您可以轻松地这样做:

var image = $('iframe').eq(0).find('.productVisu img').attr('src');