2

main_page.htm

<frameset rows="30,*" frameborder=0 border=0>
       <frame name="top_frame" src="top.htm">
       <frame name="bottom_frame" src="bottom.htm">
</frameset>

bottom.htm のコードは次のとおりです。

<div id="BottomFrameTest">Hi There!</div>

top.htmtop_frameにある上記のテキストを変更するにはどうすればよいですか

top.htm のコードは次のとおりです。

<script>
   function ChnageDivText()
   {
      $("#BottomFrameTest").html("Hello World. This text is changed");
   }
</script>
<body>
   <input type="button" value="Change Text" onclick="ChnageDivText()" />
</body>

上記のコードは明らかに機能しません。bottom_frameからと通信するにはどうすればよいtop_frameですか?

4

2 に答える 2

0

すべてのフレームが使用できる同じドメインからのものであると仮定します

 parent.bottom_frame.getElementById("BottomFrameTest").innerHTML = "Hello World. This text is changed";

もちろん、本当に jquery を使いたい場合は、

 $(parent.bottom_frame).find("#BottomFrameTest").html("Hello World. This text is changed");
于 2012-05-11T07:48:51.340 に答える
0

実際にこのようなことを試すことができます他のフレームの要素を更新しようとしているので、クロスフレームのjquery操作を試しています

$(document).ready(function(){
    function ChnageDivText()
       {
          $(parent.BottomFrameTest.document).contents().find(‘#TextBox1′).val(‘Hello World. This text is changed’);
       }

});

たとえば、検索メソッドで目的の要素のIDを設定できるテキストボックスを使用しました。詳細については、こちらを参照してください。

が初めての場合は、ここ$.contents()に文書化されています。

これは、jquery docs からのやや似た例です

すべてがあなたを助けることを願っています。

于 2012-05-11T07:50:12.960 に答える