• iframe父子页面-获取元素、调用方法


    dom结构

    父页面

    <div id="box" style=" 100px; height: 100px; background-color: red;"></div>
    <!-- 引入页面 --> 
    <iframe src="iframe2.html" width="400" height="400"></iframe>
    

    子页面

    <div id="btn"></div>
    
    /*加上一点样式*/
    #btn {
    	 100px;
    	height: 100px;
    	background-color: blue;
    }
    

    获取元素

    子页面通过js 获取父页面box元素

    window.parent.document.getElementById("box")
    

    jquery获取父页面box元素方法

    // 方法一
    $(window.parent.document.getElementById("box"))
    
    // 方法二
    $("#box", parent.document)
    
    

    父页面获取子页面元素

    // 在标签上添加onload事件
    <iframe id="ifra" onload="getIframe()"  name="myifra" src="iframe2.html" width="400" height="400"></iframe>
    
    // 原生js获取
    function getIframe() {
    	var ifra = document.getElementById("ifra");
    	console.log(ifra.contentWindow.document.getElementById("btn"));
    }
    
    // jquery获取
    
    function getIframe() {
    	console.log($('#ifra').contents().find("#btn")[0]);
    }
    
    
    // 通过window.onload事件
    window.onload = function() {
    	var ifra = document.getElementById("ifra");
    	console.log(ifra.contentWindow.document.getElementById("btn"));
    }
    
    

    【注意】 一定要等iframe加载完再去获取里面的元素

    调用方法

    子页面调用父页面方法

    // 先通过window.parent获取到父元素,在调用该对象上的方法
    
    window.parent.sayHello();
    
    // 或者jquery
    
    $(window.parent)[0].sayHello();
    
    

    父页面调用子页面方法

    // 先获取到子页面的window对象,然后在调用
    window.onload = function() {
    	var ifra = document.getElementById("ifra");
    	ifra.contentWindow.sayName();
    }
    

    脚本之家父子页面调用

  • 相关阅读:
    HAProxy从零开始到掌握
    学会这15点,让你分分钟拿下Redis数据库
    求一个字符串长度
    js时间戳怎么转成日期格式
    js获取url参数值的两种方式
    js 处理URL实用技巧
    jQuery操作radio、checkbox、select 集合
    js处理url的技巧和归纳
    ajax hash缓存
    jquery ajax跨域
  • 原文地址:https://www.cnblogs.com/bonly-ge/p/9771167.html
Copyright © 2020-2023  润新知