js 在iframe子页面获取父页面元素,或在父页面 获取iframe子页面的元素的几种方式

用JS或jquery访问页面内的iframe,兼容IE/FF
注意:框架内的页面是不能跨域的!

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

index.html 文件内含有一个iframe:

XML/HTML代码

页面首页 iframe.html 内容:

XML/HTML代码

iframe.html
www.koyoz.com
  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 .

  1. 在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();

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iframe中,页面页面之间可以通过以下几种方法进行通信: 一、postMessage方法: 页面可以使用postMessage方法向页面发送消息,通过接收消息的事件监听器在页面中捕获消息并做出相应处理。页面发送消息的代码示例如下: ```javascript window.parent.postMessage('Hello from child page!', '*'); ``` 在页面中,可以通过添加消息事件监听器来接收页面发送的消息,并进行相应的处理: ```javascript window.addEventListener('message', function(event) { if (event.origin !== '页面的URL') return; console.log('Message received from child page: ' + event.data); }); ``` 二、window.parent属性: 页面可以通过window.parent属性直接访问页面的方法和属性,从而与页面进行通信。例如,页面可以通过以下方式调用页面的方法: ```javascript window.parent.parentMethod(); ``` 三、通过URL参数传递信息: 页面可以通过URL参数将需要传递的信息附加在URL后面,并在页面中通过解析URL参数获取页面传递的信息。页面设置URL参数的代码示例如下: ```javascript var data = 'Hello from child page!'; var url = window.location.href + '?data=' + encodeURIComponent(data); window.location.href = url; ``` 在页面中,可以通过解析URL参数来获取页面传递的信息: ```javascript var urlParams = new URLSearchParams(window.location.search); var data = decodeURIComponent(urlParams.get('data')); console.log('Data received from child page: ' + data); ``` 以上是在iframe页面页面通信的一些方法,根据具体的需求,可以选择合适的方法进行通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值