0

動作するJavaScriptの現在の関数は次のとおりです。

var iframe = document.getElementsByTagName('iframe')[0];
var doc = iframe.contentWindow.document;
var originPrice = iframe.contentWindow.document.getElementsByClassName('price type2')[0].innerHTML; 

そして、これは私がまだ学んでいて動作しないjqueryバージョンです

var originPrice = $('iframe').contents().find('.price type2')[0].html();

firefox によって返されるエラーは、「未定義」であるということです。ここでのエラーは何ですか?

ヒントをありがとう、私はまだjqueryを学んでいます

4

2 に答える 2

1

jQuery オブジェクトに対して行う[0]と、メソッドを持たない DOM オブジェクトが返されます。これは.html()jQuery メソッドであるためです。

.eq(0).html()jQuery オブジェクトを取得するために使用する[0].innerHTMLか、DOM オブジェクトがある場合に使用します。

また、セレクターを に変更してfind('.price.type2')、2 つのクラス "price" と "type2" を持つ単一のオブジェクトを探します。

于 2013-03-01T16:30:55.303 に答える
1

を選択[0]すると、jQuery オブジェクトではなく DOM 要素が返されたためです。また、DOM 要素にはその機能がありませんhtml()

var originPrice = $('iframe').contents().find('.price.type2').eq(0).html();
于 2013-03-01T16:29:50.183 に答える