修改iframes内元素的样式

前言:网页可以使用iframe元素嵌入其他页面,因此一个页面之中会存在多个窗口;在子页面中,又可以嵌入别的页面,从而形成多级窗口。 iframe元素遵守同源策略,只有当父页面与框架页面来自同一个域名,两者之间才可以通过脚本通信。

        window.top:顶级窗口

        window.parent:父级窗口

        window.self:当前窗口

1、对于iframe嵌入的窗口,通过document.getElementById方法可以拿到该窗口的DOM节点,然后使用content.Window属性获得iframe节点包含的window对象,使用contentDocument属性获得包含的document对象

2、在iframe窗口内部,使用window.parent引用父窗口。如果没有父窗口则返回自身

3、iframe嵌入窗口的window对象,存在一个frameElement属性,返回它在父窗口中的DOM节点

一、在当前窗口中获取父级窗口进行样式修改

 parent //获取父窗口 (等同于window.parent)
  .document //获取父级窗口的document文档
  .getElementById('box') //获取父级窗口中id为box的DOM元素
  .style 
  .background='red' //修改DOM元素的背景色

二、在当前窗口中获取通过iframe为引入的页面(iframe标签的id属性是'li')

document.getElementById('li').onload = function(){ //通过inload事件监测iframe的加载
 document.getElementById('li') //获取到iframe
 .contentWindow //获取到iframe的window
 .document //获取到iframe的document
 .getElementById('xoc') //获取iframe中id=‘xoc’的DOM元素
 .style
 .color = 'green'
 }

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值