访问帧(未IFRAME)内容我有2帧在一个页面这样的(home.html做为)如何从jQuery的
<frameset rows="50%, 50%">
<frame id="treeContent" src="treeContent.html" />
<frame id="treeStatus" src="treeStatus.html" />
</frameset>
,然后在一个帧中(treeStatus.html)予有类似的东西
<body style="margin: 0px">
<div id="statusText">Status bar for Tree</div>
</body>
我想从顶部窗口操纵位于通过jquery的子框架(例如显示和隐藏)的div。
我见过severalquestionslikethis他们建议以下
$(document).ready(function(){
$('#treeStatus').contents().find("#statusText").hide();
});
我不知道这是否借助iframe但对我来说,我有简单的帧它似乎并没有工作。将代码放在里面home.html的
这里是Firebug的控制台
>>> $('#treeStatus')
[frame#treeStatus]
>>> $('#treeStatus').contents()
[]
>>> $('#treeStatus').children()
[]
那么,如何访问框架元素从顶部框架一些输出?我在这里错过了什么吗?
回答
两个答案在这里结合后,正确的方法是
$('#statusText',top.frames["treeStatus"].document).hide();
对于这项工作的框架必须有名从ID属性分开,就像这样:
<frameset rows="50%, 50%">
<frame id="treeContent" src="treeContent.html" />
<frame name="treeStatus" id="treeStatus" src="treeStatus.html" />
</frameset>
刚一说明:为什么在使用'position:fixed'来使用框架时,总是在视口的底部添加一个状态栏(或者由尺寸建议的日志)......支持一个古老的浏览器? – alex 2010-05-27 14:26:02
@alex这只是我为stackoverflow创建的最小示例。真正的应用程序是完全不同的。它比简单的状态栏更复杂。框架是一个要求(不要问!)。 – kazanaki 2010-05-27 14:34:29
好的,不用担心。只是想我会补充一点(有些人不知道“position:fixed”)。 – alex 2010-05-27 23:06:48