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.htm其中位于 top_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_framefrom沟通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’);
       }

});

例如,我使用了文本框,您可以在 find 方法中设置所需元素的 id。你可以在这里更深入地找到它。

如果$.contents()对您来说是新的,您可以在此处找到它的文档。

是来自 jquery docs 的一个有点类似的例子。

希望对您有所帮助。

于 2012-05-11T07:50:12.960 回答