父元素与子iframe相互获取变量和元素对象的具体实现

(编辑:jimmy 日期: 2024/10/10 浏览:2)

父中:
复制代码 代码如下:
<input id="username"type="text" />
<scripttype="text/javascript">
var count = 1;
</script>

-------------------------------------------------------------
子iframe中:
复制代码 代码如下:
<scripttype="text/javascript">
alert(window.parent.count); //获取父中的js变量
alert($("#username", window.parent.document));//获取父中jQuery对象
alert(window.parent.document.getElementByIdx_x('username'));//获取父中DOM对象
</script>

--------------------------------------------------------------------------------------------------

子iframe中(id="iframeId"name="iframeName"):
复制代码 代码如下:
<input id="username"type="text" />
<scripttype="text/javascript">
varcount = 1;
</script>

-------------------------------------------------------------
父中:
复制代码 代码如下:
<scripttype="text/javascript">
alert(document.iframeName.count);//获取子iframe中的js变量
alert($(window.frames["iframeName"].document).contents().find("#username"));//获取子iframe中jQuery对象
alert($("#username",document.frames("iframeName").document));//获取子iframe中jQuery对象
alert(window.document.getElementById('iframeId').contentWindow.document.getElementByIdx_x('username'));//获取子iframe中DOM对象
</script>

收集网上的一些示例:
用jQuery在IFRAME里取得父窗口的某个元素的值
只好用DOM方法与jquery方法结合的方式实现了

1. 在父窗口中操作 选中IFRAME中的所有单选钮
$(window.frames["iframe1"].document).find("input:radio").attr("checked","true");
2. 在IFRAME中操作 选中父窗口中的所有单选钮
$(window.parent.document).find("input:radio").attr("checked","true");
父窗口想获得IFrame中的Iframe,就再加一个frames子级就行了,如:
$(window.frames["iframe1"].frames["iframe2"].document).find("input:radio").attr("checked","true");
3.在子窗口中调用父窗口中的另一个子窗口的方法(FRAME):
parent.frames["Main"].Fun();
注意:建议使用[],这样比较兼容多个浏览器,()火狐/搜狗/谷歌不兼容。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。