Iframeがあり、親要素にアクセスするために次のコードを実装しました。
window.parent.document.getElementById('parentPrice').innerHTML
Jqueryを使って同じ結果を得るにはどうすればいいですか?
UPDATE:それともjqueryを使ってiFrameの親ページにアクセスするにはどうすればいいですか?
IFrameの親を探すには、次のようにします。
$('#parentPrice', window.parent.document).html();
$()ラッパーの2番目のパラメーターは、検索対象のコンテキストです。デフォルトはdocumentです。
jqueryを使用してiFrame親ページにアクセスする方法
window.parent.document.
jQueryはJavaScriptを基盤としたライブラリであり、完全に置き換わるものではありません。最後のJavaScript式をすべて$を含むものに置き換える必要はありません。
親ドキュメント内でjQueryインスタンスを見つける必要がある場合(たとえば、プラグインによって提供されるユーティリティ関数を呼び出すため)には、次のいずれかの構文を使用してください。
window.parent.$
window.parent.jQuery
例:
window.parent.$.modal.close();
jQueryはwindow
オブジェクトに添付されます。それがwindow.parent
です。
親ウィンドウに置く:
<script>
function ifDoneChildFrame(val)
{
$('#parentPrice').html(val);
}
</script>
そしてiframeのsrcファイルに次のように書きます。
<script>window.parent.ifDoneChildFrame('Your value here');</script>
次のように 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);
を使いました
優秀な!!!
ええそれは私のためにも動作します。
注:window.parent.documentを使用する必要があります
$("button", window.parent.document).click(function()
{
alert("Functionality defined by def");
});
ここで少しゲームが遅れるかもしれませんが、私はこの素晴らしいjQueryプラグインを発見しました https://github.com/mkdynamic/jquery-popupwindow 。それは基本的にonUnloadコールバックイベントを使うので、それは基本的に子ウィンドウのクローズを待ち受け、そしてその時点で必要なことを実行します。 SO親に戻るために子ウィンドウにJSを書く必要はまったくありません。
これらを実行する方法は複数あります。
I)直接親になる。
厳しいの私の子ページをiframeに置き換えたい
var link = '<%=Page.ResolveUrl("~/Home/SubscribeReport")%>';
top.location.replace(link);
ここでtop.locationは直接親を取得します。
II)一つ一つの親を得る
var element = $('.iframe:visible', window.parent.document);
複数のiframeがある場合は、ここでアクティブまたは表示のいずれかを指定します。
あなたはまた、さらなる親を得るためにこれらのようにすることができます、
var masterParent = element.parent().parent().parent()
III)識別子によって親になる。
var myWindow = window.top.$("#Identifier")