jQuery取得iframe中元素的常用方法详解


Posted in Javascript onJanuary 14, 2016

本文实例分析了jQuery取得iframe中元素的常用方法。分享给大家供大家参考,具体如下:

jquery取得iframe中元素的几种方法:

在iframe子页面获取父页面元素

代码如下:

$('#objId', parent.document);

搞定...

在父页面 获取iframe子页面的元素:

$("#objid",document.frames('iframename').document)
$(document.getElementById('iframeId').contentWindow.document.body).html()

显示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:

<!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 内容:

<!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">3water.com</div>
</body>
</html>

1. 在index.html执行JS直接访问:

document.getElementById('koyoz').contentWindow.document.getElementById('test').style.color='red'

通过在index.html访问ID名为'koyoz'的iframe页面,并取得此iframe页面内的ID为'test'的对象,并将其颜色设置为红色.

此代码已经测试通过,能支持IE/firefox .

2. 在index.html里面借助jQuery访问:

$("#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");

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
vs2003 js文件编码问题的解决方法
Mar 20 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
Jul 14 Javascript
javascript实现TreeView 无刷新展开的实例代码
Jul 13 Javascript
js随机生成字母数字组合的字符串 随机动画数字
Sep 02 Javascript
wap手机端解决返回上一页的js实例
Dec 08 Javascript
关于AngularJs数据的本地存储详解
Jan 20 Javascript
基于vue实现swipe轮播组件实例代码
May 24 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
Jul 10 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
Jul 27 Javascript
vue中子组件向父组件传递数据的实例代码(实现加减功能)
Apr 20 Javascript
vue项目部署到Apache服务器中遇到的问题解决
Aug 24 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
Jan 12 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
Jan 14 #Javascript
分享网页检测摇一摇实例代码
Jan 14 #Javascript
jquery淡入淡出效果简单实例
Jan 14 #Javascript
jQuery实现的左右移动焦点图效果
Jan 14 #Javascript
详解JavaScript中的构造器Constructor模式
Jan 14 #Javascript
jquery+json实现动态商品内容展示的方法
Jan 14 #Javascript
jQuery遮罩层效果实例分析
Jan 14 #Javascript
You might like
php foreach、while性能比较
2009/10/15 PHP
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
php之curl设置超时实例
2014/11/03 PHP
php实现的Curl封装类Curl.class.php用法实例分析
2015/09/25 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
2018/03/15 PHP
7个Javascript地图脚本整理
2009/10/20 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
2015/01/28 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
详解微信UnionID作用
2019/05/15 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
2019/09/11 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
python程序封装为win32服务的方法
2021/03/07 Python
Python异常处理知识点总结
2019/02/18 Python
python区分不同数据类型的方法
2019/10/14 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
医学生自我评价
2014/01/27 职场文书
银行求职自荐书
2014/06/25 职场文书
离婚财产分配协议书
2014/10/21 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
自我检讨书怎么写
2015/05/07 职场文书