这是我目前的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版本正常工作?
由于
答案 0 :(得分:3)
改变这个:
$('iframe').contents().find('.productVisu').$('img').attr('src');
为:
$('iframe').contents().find('.productVisu img').attr('src');
答案 1 :(得分:1)
我不确定您的原始代码是如何工作的,因为getElementsByClassName
和getElementsByTagName
会返回节点列表,而不是单个节点。
请改为尝试:
var image = iframe.contentDocument.querySelector(".productVisu img").src;
当您可以使用Vanilla JS时,切勿使用jQuery。这就像用大锤拧螺丝一样。
答案 2 :(得分:1)
我不明白你的例子中前两行代码的必要性。你可以很容易地做到这一点:
var image = $('iframe').eq(0).find('.productVisu img').attr('src');