3

私はこの最小限のテストケースを持っています

a.html

<!DOCTYPE html>
<html>
<body>
    <input type="text" id="myinput">
     <iframe id="frame" src="b.html" style="width:100%;height:100%" frameBorder="0"></iframe>
     </body>
</html>

b.html

<!DOCTYPE html>
<html>

<body>
    <script>
        function update_parent(value) {
            window.parent.document.getElementById('myinput').value=value;
        }
    </script>
    <a class="tag" name="something" href="javascript:void(0)" onclick="update_parent(something)"/>Bla Bla</a>
    </body>

</html>

ここでの目的は、iframe でボタンがクリックされたときに、親ウィンドウの入力ボックスを更新することです。上記のように、プレーンな JavaScript を使用して実行しようとしましたが、どちらも機能しません。できればjqueryでやってみたいです。

4

2 に答える 2

11
function update_parent(value) {
    $('#myinput', window.parent.document).val(value);
}

$() ラッパーの 2 番目のパラメーターは、検索するコンテキストです。これはデフォルトでドキュメントになるため、親を渡すと、親が検索コンテキストとして設定されます。

于 2013-09-13T21:27:12.493 に答える
0

親要素は window.self.top になります。親要素のコンテンツまたはドキュメントにアクセスできます。

そうは言っても、コードは次のようになります。

$(window.self.top.document).find('#myinput');

これにより、親の要素が得られます。

于 2013-09-13T21:26:38.220 に答える