jquery iframe取得元素与自适应高度

jquery方法:

在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()

 
在父窗口中操作 选中IFRAME中的所有输入框:

 代码如下 复制代码

 $(window.frames["iframeSon"].document).find(":text");

在IFRAME中操作 选中父窗口中的所有输入框:

 代码如下 复制代码

$(window.parent.document).find(":text");

iframe框架的HTML:

 代码如下 复制代码

<iframe src="test.html" id="iframeSon" width="700″ height="300″ frameborder="0″ scrolling="auto"></iframe>

1.在父窗口中操作 选中IFRAME中的所有单选钮

 代码如下 复制代码

$(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true");

2.在IFRAME中操作 选中父窗口中的所有单选钮

 代码如下 复制代码

$(window.parent.document).find("input[@type='radio']").attr("checked","true");

iframe框架的:

 代码如下 复制代码

<iframe src="test.html" id="iframe1″ width="700″ height="300″ frameborder="0″ scrolling="auto"></iframe>

假设有两个页面,在相同域下.

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.</div> 
</body> 
</html> 

iframe自适

应高度

代码很简单:

 代码如下 复制代码

$("#iPersonalInfo").load(function() {

$(this).height($(this).contents().height());

})

有一点需要注意的,我也在调试的时候才发现的,耽误了不少时间。就是绑定事件必须在iframe加载完毕之前绑定,否则不会执行。
以下是jQuery,load事件的概述
在每一个匹配元素的load事件中绑定一个处理函数。
如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像。如果绑定在元素上,则当元素的内容加载完毕后触发。
注意:只有当在这个元素完全加载完之前绑定load的处理函数,才会在他加载完后触发。如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jQuery会在所有DOM加载完成后再绑定load事件。

iframe代码,注意要写ID

 代码如下 复制代码

<iframe src="test.html" id="main" width="700" height="300" frameborder="0" scrolling="auto"></iframe>

jquery代码1:

 代码如下 复制代码

//注意:下面的代码是放在test.html调用
$(window.parent.document).find("#main").load(function(){
var main = $(window.parent.document).find("#main");
var thisheight = $(document).height()+30;
main.height(thisheight);
});

jquery代码2:

 代码如下 复制代码

//注意:下面的代码是放在和iframe同一个页面调用
$("#main").load(function(){
var mainheight = $(this).contents().find("body").height()+30;
$(this).height(mainheight);
});

时间: 2024-10-28 10:06:26

jquery iframe取得元素与自适应高度的相关文章

Iframe实现跨浏览器自适应高度解决方法_jquery

本文以实例形式讲述了Iframe实现跨浏览器自适应高度解决方法,非常具有实用价值.分享给大家供大家参考之用.具体方法如下: 该方法使用了jQuery,因此需要在iframe的src页面里面引入jQuery. 父页面里面相对简单一点,主要包含以下代码: <iframe id="if1" scrolling="no" src="2.html"></iframe> 在iframe的src页面里面代码如下: <script

javascript 装载iframe的子页面自适应高度

假设主页面有一个div,里面放置一个iframe: <div id="frameBox"> <iframe id="frameWin" src="1.html" name="opWin" style="width:100%;height:100%" frameborder="0" scrolling="no"></iframe> &

JS解决iframe之间通信和自适应高度的问题_javascript技巧

首先说明下,iframe通信 分为:同域通信 和 跨域通信. 一. 同域通信 所谓同域通信是指 http://localhost/demo/iframe/iframeA.html 下的a.html页面嵌套 iframe 比如: <iframe src="http://localhost/demo/iframe/iframeB.html" id="iframeA" name="iframeA">的B.html页面,这两个页面数据进行通信

如何实现iframe(嵌入式帧)的自适应高度

自适应 好几次看到有人提问问到如何实现 iframe 的自适应高度,能够随着页面的长度自动的适应以免除页面和 iframe 同时出现滚动条的现象,刚好我在工作中也碰到了类似问题,于是上网翻查,东抄抄西看看,弄出来这么一个函数,贴到页面里面就能用了.不敢独享,大家要是觉得有用,欢迎使用源代码如下 <script type="text/javascript"> //** iframe自动适应页面 **//  //输入你希望根据页面高度自动调整高度的iframe的名称的列表 //

如何实现iframe(嵌入式帧)的自适应高度_javascript技巧

好几次看到有人提问问到如何实现 iframe 的自适应高度,能够随着页面的长度自动的适应以免除页面和 iframe 同时出现滚动条的现象,刚好我在工作中也碰到了类似问题,于是上网翻查,东抄抄西看看,弄出来这么一个函数,贴到页面里面就能用了.不敢独享,大家要是觉得有用,欢迎使用 源代码如下 复制代码 代码如下: <script type="text/javascript">  //** iframe自动适应页面 **//  //输入你希望根据页面高度自动调整高度的iframe

jquery实现文本框textarea自适应高度_javascript技巧

浏览器中默认的文本框是不能根据内容的增多变高,只能固定高度有滚动条,体验不是很好,找了很多方法兼容都不行,总算找到个兼容良好的方法: <body> <textarea id="textarea3" style="overflow-y:hidden; height:20px;resize: none"> </textarea> <script type="text/javascript" src="

jquery如何获取元素的滚动条高度等实现代码_jquery

主要功能: 获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 : $(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 : $(document).width(); 浏览器当前窗口文档body的高度: $(document.body).height(); 浏览器当前窗口文档body的宽度: $(document.body).width(); 获取滚动条到顶部的

装载iframe 子页面,自适应高度

ie6.firefox2 通过,麻烦有ie7的网友测试一下, 由于有其他代码,剖析出来麻烦,截图也麻烦,代码很简单,所以就直接写部分出来好了. 假设主页面有一个div,里面放置一个iframe<div id="frameBox"><iframe id="frameWin" src="1.html" name="opWin" style="width:100%; height:100% "

javascript 装载iframe子页面,自适应高度_javascript技巧

假设主页面有一个div,里面放置一个iframe 复制代码 代码如下: <div id="frameBox"> <iframe id="frameWin" src="1.html" name="opWin" style="width:100%; height:100% " frameborder="0" scrolling="no"></