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

あなたの例の最初の2行のコードの必要性を理解していません。あなたは簡単にこれを行うことができます:

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

個々のノードではなくノードリストgetElementsByClassNameを返すため、元のコードがどのように機能するかはわかりません。getElementsByTagName

代わりにこれを試してください:

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

Vanilla JSを使用できる場合は、jQueryを使用しないでください。ハンマーでネジを回すようなものです。

于 2013-03-01T17:03:07.943 に答える