zoukankan      html  css  js  c++  java
  • js获取iframe中的元素以及在iframe中获取父级的元素(包括iframe中不存在name和id的情况)

    第一种情况:iframe中不存在name和id的方法:(通过contentWindow获取)
    var iframe = document.getElementsByTagName('iframe')[0];
    var ifr_document = iframe.contentWindow.document;//iframe中的文档内容
    或者:
    var _iframe = document.getElementByIdx_x('iframeId').contentWindow;  
    var _div =_iframe.document.getElementByIdx_x('objId');  
    或者:
    1. var frameWin=document.getElementById('iframe').contentWindow;    //window对象  
    2. var frameDoc=document.getElementById('iframeId').contentWindow.document  //document对象  
    3. var frameBody=document.getElementById('iframeId').contentWindow.document.body   //body对
    第二种情况:iframe中存在name或者id的方法:(通过frames[]数组获取)
    document.frames['iframe的name'].document.getElementById('元素的ID');
    第三种情况:在iframe中获取父级页面的id元素 :
    var obj=window.parent.document.getElementById('objId') ;
    $(window.parent.document).find("#objId").css('height':'height);   // window可省略不写 jquery
     
    第四种情况:父级窗体访问iframe中的属性
    1. a、 用contentWindow方法   
    2. document.getElementById('iframe1').onload=function(){  
    3.          this.contentWindow.run();  
    4.  }  
    5. b、用iframes[]框架集数组方法  
    6. document.getElementById('iframe1').onload=function(){  
    7.          frames["iframe1"].run();  
    第五种情况:在iframe中访问父级窗体的方法和属性 //window 可以不写
    1. window.parent.attributeName;  // 访问属性attributeName是在父级窗口的属性名  
    2. window.parent.Func();  // 访问属性Func()是在父级窗口的方法 
     
    第五种情况:让iframe自适应高度
      1. $('#iframeId').load(function() { //方法1  
      2.     var iframeHeight = Math.min(iframe.contentWindow.window.document.documentElement.scrollHeight, iframe.contentWindow.window.document.body.scrollHeight);  
      3.     var h=$(this).contents().height();  
      4.     $(this).height(h+'px');   
      5. });  
      6.   
      7. $('#iframeId').load(function() { //方法2  
      8.     var iframeHeight=$(this).contents().height();  
      9.     $(this).height(iframeHeight+'px');   
      10. }); 
  • 相关阅读:
    [leetcode-136-Single Number]
    [leetcode-2-Add Two Numbers]
    [leetcode-150-Evaluate Reverse Polish Notation]
    [leetcode-1-Two Sum]
    DataTable数据分页
    ToList和ToDataTable(其中也有反射的知识)
    c#解决Nullable类型的转换 (包含DataContract的序列化和反序列化以及 该例子应用在反射属性setvalue的时候有用)
    ADO.NET DataTable的复制(clone)
    OracleBulkCopy
    LIst和table的转换
  • 原文地址:https://www.cnblogs.com/wei-dong/p/8276334.html
Copyright © 2011-2022 走看看