我有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_frame
中top.htm
的上述文字
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
的{{1}}进行沟通?
答案 0 :(得分: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");
答案 1 :(得分:0)
您可以尝试这样的事实上您正在尝试更新其他帧的元素,以便您尝试跨框架jquery操作
$(document).ready(function(){
function ChnageDivText()
{
$(parent.BottomFrameTest.document).contents().find(‘#TextBox1′).val(‘Hello World. This text is changed’);
}
});
我使用了文本框,例如你可以在find方法中设置所需元素的id。 你可以更深入地找到它here。
如果$.contents()
对您来说是新的,您可以找到它here。
Here是一个与jquery docs类似的例子。
希望所有人都能帮到你。