转自:http://www.cnblogs.com/liyuxin/archive/2011/10/06/2199931.html
query取得iframe中元素的几种方法
在iframe子页面获取父页面元素
代码如下:
$('#objId', parent.document);
// 搞定...
在父页面 获取iframe子页面的元素
代码如下:
$("#objid",document.frames('iframename').document)
$(document.getElementById('iframeId').contentWindow.document.body).html()
有时需要加上延迟,防止iframe里的元素还没有加载完
setTimeout(function(){
var a = $($("#iframeId").contents().get(0)).find("#a");
alert($(a).val());
},500);
显示iframe中body元素的内容。
$("#testId", document.frames("iframename").document).html();
根据iframename取得其中ID为"testId"元素
$(window.frames["iframeName"].document).find("#testId").html()
用JS或jQuery访问页面内的iframe,兼容IE/FF
注意:框架内的页面是不能跨域的!
假设有两个页面,在相同域下.
index.html 文件内含有一个iframe:
XML/HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>页面首页</title>
</head>
<body>
<iframe src="iframe.html" id="koyoz" height="0" width="0"></iframe>
</body>
</html>
iframe.html 内容:
XML/HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>iframe.html</title>
</head>
<body>
<div id="test">www.koyoz.com</div>
</body>
</html>
1. 在index.html执行JS直接访问:
JavaScript代码
document.getElementById('koyoz').contentWindow.document.getElementById
('test').style.color='red'
通过在index.html访问ID名为'koyoz'的iframe页面,并取得此iframe页面内的ID为'test'的
对象,并将其颜色设置为红色.
此代码已经测试通过,能支持IE/firefox .
2. 在index.html里面借助jQuery访问:
JavaScript代码
$("#koyoz").contents().find("#test").css('color','red');
此代码的效果和JS直接访问是一样的,由于借助于jQuery框架,代码就更短了.
收集网上的一些示例:
用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();
document.getElementById('iframeid').contentWindow.abc();
注意:建议使用[],这样比较兼容多个浏览器,() 火狐/搜狗/谷歌不兼容。
相关推荐
对于javascript操作iframe父级页面元素的方法,大家应该都非常清楚了,下面结合当前非常流行的jquery分享一下如何使用jquery查找和操作iframe父级页面元素的实现代码。
本插件基于jquery开发,利用iframe加载,移植性强,脱离底层javascript代码,便于后期广告的更改。 本插件兼容IE6或更高,Firefox,Chrome,Opera等浏览器。 2.如何使用 1)将ad文件夹放入网站根目录 2)使用时,...
jQuery内嵌iframe导航菜单
jquery通用的iframe弹层插件,兼容主流浏览器
本文实例讲述了jQuery子窗体取得父窗体元素的方法。分享给大家供大家参考。具体如下: $(#父窗口元素ID,window.parent.document); 对应javascript版本为 window.parent.document.getElementById(父窗口元素ID); 取...
用jquery实现iframe高度自适应实例代码完美兼容多数浏览器
超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨...
script type = “ text / JavaScript ” src = “ path / to / jquery.print.js ” > </ script > 使用它像: $(“#myElementId ”)。print(/ * options * /); 要么 $。print(“#myElementId ...
一个简单的实用程序,可将iframe调整为其内容的大小。 用法 $('iframe').iframeResize(); 这会将加载事件处理程序绑定到每个iframe,并将它们调整为当前内容的大小。 它还为自定义sizeToContent事件注册了一个处理...
javascript原生和jquery库实现iframe自适应内容高度和宽度—推荐使用jQuery的代码! <iframe src=index....
手撸简单版前端富文本编辑器。基本原理:由于富文本内容不想收到所在页面或者前端框架的影响,或者说写一个完全单独的纯编辑器,采用原生iframe+js+jquery实现。
jQuery Panzoom是一款非常实用的HTML DOM元素平移和缩放jQuery和...Panzoom利用CSS transforms 和 matrix函数来为浏览器进行硬件(GPU)加速,它可以支持任何元素的平移和缩放:图片、视频、iframe、canvas或文本等等。
iframe-box iframe box 是一个小型 javascript 工具,用于测试 iframe 中的用户界面。 您可以轻松访问 Iframe 内的任何类型的信息。 此外,您可以操作表单和表单元素。使用 Iframe 框对象创建 iframe 框 // simple ...
Javascript右键菜单,JQuery 实现 本人网络收集 提供自己使用和研究 /**得到一个对象的所有属性 var attrs="t:"; for(var attr in t) { attrs+=attr; attrs+="|"; alert("inst的"+attr+"属性:"+t[attr]); } alert...
《JavaScript基础教程(第8版)》循序渐进地讲述了JavaScript及相关的CSS、DOM、Ajax、jQuery等技术。书中从JavaScript语言基础开始,分别讨论了图像、框架、浏览器窗口、表单、正则表达式、用户事件和cookie,并在上...
ThickBox 是基于 jQuery 用 JavaScript 编写的网页UI对话窗口小部件. 它可以用来展示单一图片, 若干图片, 内嵌的内容, iframed的内容, 或以 AJAX 的混合 modal 提供的内容. 点击这里查看演示 特性: ThickBox 是...
用JavaScript刷新上级页面和当前页面 代码如下: [removed] //刷新上级页面 //window.parent.main....使用下面的几种方法都可以引用frame或iframe元素: 代码如下: window.frames[index] windows.frames[“框架名”]
本文实例讲述了jQuery实现文件编码成base64并通过AJAX上传的方法。分享给大家供大家参考,具体如下: 使用AJAX是无法直接上传文件的,一般都是新建个iframe在它里面完成表单提交的过程以达到异步上传文件的效果。 ...
wBox——轻量级的弹出窗口jQuery插件,基于jQuery1.4.2开发,主要实现弹出框的效果,并且加入了很多有趣的功能,比如可img灯箱效果,callback函数,显示隐藏层,Ajax页面,iframe嵌入页面…… 背景透明度可以根据...