人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

HTMLとjQueryの質問。HTMLのフレームセットでindex.htmlとright.htmlとleft.htmlがあるとします。jQueryを利用してright.htmlからleft.htmlの値を参照したり値を設定する方法を教えてください。jQueryファイル、JSファイルはright.html上で読み込んでいます。
よろしくお願いします

●質問者: spacewarp
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●100ポイント ベストアンサー

こんな感じ。

フレーム

<frameset cols="40%,*">
<frame src="left.html" id="FRAME_L">
<frame src="right.html">
</frameset>

left.html

<div id="g">GET ME !</div>
<div id="p">???</div>

right.html

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function() {
 /* 左のフレームから、id = "g" な要素にアクセス */
 $("#b_get").click(function() {
 var f = $("#FRAME_L", top.document);
 var e = $("#g", f.get(0).contentWindow.document);
 alert(e.html());
 });

 /* 左のフレームから、id = "p" な要素にアクセス */
 $("#b_put").click(function() {
 var f = $("#FRAME_L", top.document);
 var e = $("#p", f.get(0).contentWindow.document);
 e.html("PUT PUT PUT");
 });
});
</script>
<button id="b_get">get</button>
<button id="b_put">put</button>



ポイント。

フレームのページの window.frames コレクションは、フレームの window に相当するので、こう書いても良い。

 e = $("#g", top.frames[0].document);

spacewarpさんのコメント
できました。ありがとうございます!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ