iframeがあり、親要素にアクセスするために、次のコードを実装しました。
window.parent.document.getElementById('parentPrice').innerHTML
jqueryを使用して同じ結果を得るにはどうすればよいですか?
更新:またはjqueryを使用してiFrame親ページにアクセスする方法?
iframeがあり、親要素にアクセスするために、次のコードを実装しました。
window.parent.document.getElementById('parentPrice').innerHTML
jqueryを使用して同じ結果を得るにはどうすればよいですか?
更新:またはjqueryを使用してiFrame親ページにアクセスする方法?
回答:
iFrameの親で検索するには、次を使用します。
$('#parentPrice', window.parent.document).html();
$()ラッパーの2番目のパラメーターは、検索するコンテキストです。これはデフォルトでドキュメントになります。
jqueryを使用してiFrame親ページにアクセスする方法
window.parent.document。
jQueryはJavaScriptを基盤としたライブラリであり、JavaScriptを完全に置き換えるものではありません。最後のJavaScript式をすべて$を含むものに置き換える必要はありません。
親ドキュメントでjQueryインスタンスを見つける必要がある場合(たとえば、プラグインによって提供されるユーティリティ関数を呼び出す場合)、次の構文のいずれかを使用します。
window.parent.$
window.parent.jQuery
例:
window.parent.$.modal.close();
jQueryはwindow
オブジェクトにアタッチされ、それwindow.parent
がそうです。
次のwindow.parent
ように使用すると、iframe内から親ウィンドウの要素にアクセスできます。
// using jquery
window.parent.$("#element_id");
これは次と同じです:
// pure javascript
window.parent.document.getElementById("element_id");
ネストされたiframeが複数あり、最上位のiframeにアクセスしたい場合は、次のwindow.top
ように使用できます。
// using jquery
window.top.$("#element_id");
これは次と同じです:
// pure javascript
window.top.document.getElementById("element_id");
それは少しねじれで私のために働いています。私の場合、POPUP JSからPARENT WINDOWフォームに値を入力する必要があります。
だから私は使用しました $('#ee_id',window.opener.document).val(eeID);
優れた!!!
ここでゲームに少し遅れるかもしれませんが、この素晴らしいjQueryプラグインhttps://github.com/mkdynamic/jquery-popupwindowを発見しました。これは基本的にonUnloadコールバックイベントを使用するため、基本的には子ウィンドウのクローズをリッスンし、その時点で必要な処理を実行します。そのため、親に戻すために子ウィンドウにJSを書き込む必要はありません。
これらを行うには複数の方法があります。
I)メインの親を直接取得します。
エクサのために。子ページをiframeに置き換えたい
var link = '<%=Page.ResolveUrl("~/Home/SubscribeReport")%>';
top.location.replace(link);
ここでtop.locationは直接親を取得します。
II)親を1つずつ取得します。
var element = $('.iframe:visible', window.parent.document);
ここに複数のiframeがある場合は、アクティブまたは可視のiframeを指定します。
また、親を増やすために、このようにすることもできます。
var masterParent = element.parent().parent().parent()
III)識別子で親を取得します。
var myWindow = window.top.$("#Identifier")