-1

<h1>の ID を持つ iframe 内のタグを見つけようとしていますf1

単に試してみると$("#f1").find("h1")、空のセットが返されました。

そのため、iframe に jquery が含まれていなかったため、これらのメソッドを使用できなかったのではないかと考えました。

そこで、いくつかの異なることを試しました。jquery を使用しない場合:

var el = document.getElementById;
el.getElementsByTagName("h1");

運がない。getElementsByTagName はドキュメントのメソッドであるため、並べ替えは実​​際には意味がありません。iframeは別のドキュメントになるのではないかと思っていましたが。

最後にjqueryを追加しようとしました

var el = document.getElementById("f1")
var s = document.createElement("script");
s.src = "http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js";
el.appendChild(s);

jquery を iframe に追加します。iframe に埋め込まれたドキュメントの head にあるインスペクターで確認できます。まだ

var el = document.getElementById("f1");
el.find("h1");

typeError を取得しますObject #<HTMLIFrameElement> has no method 'find

<h1>タグの値を取得するにはどうすればよいですか?

4

2 に答える 2

1

iframeのコンテンツが親ウィンドウと同じドメインからのものであると仮定すると、次を使用できますcontents()

$("#f1").contents().find("h1");

ドメインが異なる場合、Same Origin Policy によってアクセスが拒否されるため、うまくいきません。

于 2013-08-15T14:43:57.993 に答える