获取/设置IFRAME内对象元素的几种JS方法

iframe浏览器ie文档微软

1。IE专用(通过frames索引形象定位): document.frames[i].document.getElementById('元素的ID');

2。IE专用(通过IFRAME名称形象定位): document.frames['iframe的name'].document.getElementById('元素的ID');

  以上方法,不仅对IFRAME适用,对FRAMESET里的FRAME也同样适用。IE虽然擅于自定标准,但不得不说它很多的设计还是比较体现人性化的。比如这个,它在同样支持下面的标准路径之外,提供了一个简洁且形象化的写法。

3。通用方法: document.getElementById('iframe的ID').contentWindow.document.getElementById('元素的ID')

  注意要加上contentWindow,往往出现问题都是因为这个容易被忽略,它代表FRAME和IFRAME内部的窗口对象。

  但是,很明显,这种写法非常要命,太长了。如果要操作一系列里面的元素,这样写起来,实在够受的,就算用复制粘贴大法,眼睛看起来也是个问题。

4。通用方法的简写:

  对document.getElementById定义一个短名称,稍微熟悉JS的朋友都知道这个方法。在这里它可以发挥双倍的作用,如下例:

[javascript]view plaincopy
  1. var $id=document.getElementById;
  2. $Id('iframe的ID').contentWindow.$Id('元素的ID')  //这样就得到了要取的对象

在这一点上,我还是喜欢IE的做法,比较呵护。因为微软不是一个单独的浏览器开发商,它本身也要大量地编写开发HTML/ASP等文档,所以比较能 够做到这一点。而其它的浏览器开发商,基本只是站在一个浏览器的立场,把最基本的链路走通就完事了,很少站在开发者立场去设计出一些类似这样既简便又不失 语义化的捷径来。很多人动辄说它们“标准”,在有些地方固然有理,但在有些地方,这种标准也不过是一种冷漠。

获取/设置IFRAME内对象元素的几种JS方法相关推荐

  1. 多iframe下的html同名id,获得同级iframe页面的指定ID元素的几种实现方法

    1.JS实现: var object= window.parent.frames("要获得的iframe的name").contentDocument.getElementById ...

  2. w7计算机防火墙无法更改,win7系统提示防火墙无法更改某些设置错误代码0x8007437的原因及四种解决方法...

    win7系统提示"防火墙无法更改某些设置,错误代码0x8007437",这该怎么办呢?下面脚本之家的小编就带来win7系统提示防火墙无法更改某些设置错误代码0x8007437的原因 ...

  3. 【win10休眠后几分钟内自动开机的一种解决方法】

    win10休眠后几分钟内自动开机的一种解决方法 背景 系统win10,内存16g,c盘是ssd,剩余空间勉强够休眠文件hiberfil.sys使用.为了第二天快速开始工作以及一些项目不方便保存等情况, ...

  4. JavaScript 技术篇-js获取iframe内的元素方法实例演示

    var a = document.querySelector("iframe") 获取到 iframe. var b = a.contentWindow.document 获取到 ...

  5. iframe内联元素有白边原因_教你如何使用内联框架元素 IFrames 的沙箱属性提高安全性?

    作者:Huup_We 转发链接:https://mp.weixin.qq.com/s/21ydrXuinCtYiJdsynsTrA 前言 想要构建一个体验丰富的网站,嵌入组件和内容几乎是不可避免的,而 ...

  6. css:块元素、行内元素、行内块元素以及三种元素之间的转换

    一.三种元素的介绍 1.块元素 块元素的特点 独占一行,也就是会自动换行 可以设置高度.宽度.外边距.内边距 宽度默认是父元素的宽度 常见块元素 <h1></h1>---< ...

  7. java set取最大最小_Java中取得数组中最大(小)元素的几种实现方法

    简介 本篇文章将主要介绍获取数组中最大(小)元素的基本方法,以及其在Java中的几种实现方法. 算法 取得数组中最大(小)元素的基本算法一般都类似于如下所示: SET MAX to array[0] ...

  8. JS 对象属性的两种表示方法

    JS中对象属性的表示方法有两种: <prop为属性名> obj.prop obj['prop'](注:'[]'里面必须是字符串) 例: var obj = {name:'abc' } ob ...

  9. Java获取三个数字中的最大值[5种解决方法]

    第一种解决方法[if嵌套] public static int getMax1(int a, int b, int c) {int max = 0;if (a > b) {if (a > ...

最新文章

  1. Waymo的自主进化
  2. pytorch实现手写数字识别_Paddle和Pytorch实现MNIST手写数字集识别对比
  3. linux 设备管理工具 udev 规则编写
  4. 语音跟踪:信号分解、锁相、鸡尾酒会效应、基于PR的信号分离
  5. 十分钟让你明白AIDL
  6. Git之原有基础开发新功能
  7. 数据 3 分钟 | 阿里云数据库 2020 技术年报发布、TiDB 开启 Hacking Camp、达梦云数据库免费体验...
  8. java 页面 传送参数,Struts2的action接收JSP页面传输的参数
  9. springboot获取项目路径_springboot学习
  10. vue 不生效 打包 样式_Vue打包部署到Nginx时,css样式不生效的解决方式
  11. 代码整洁之道-第5章-格式-读书笔记
  12. 51单片机如何跳出wile循环_基于proteus的51单片机开发实例(1)
  13. CString, BSTR, LPCTSTR 概念
  14. javaJSON字符串转换实体类
  15. 自定义mybatis的拦截器+Memcached+treeNMS
  16. Activiti6驳回上一节点
  17. 手机app界面及易用性测试点分析(通用)
  18. L2行情接口怎么用最高效?
  19. 酒店如何实现上网认证的呢
  20. 百度飞桨的乌镇时刻:拿下的至高荣誉和背后的绝对实力

热门文章

  1. 计算机组成原理R0bus是什么,计算机组成原理微程序控制器实验
  2. centeros6.8 mysql_centeros7安装mysql8,以及设置root密码
  3. php ziparchive(),php的ZipArchive类用法实例
  4. Unity SRP自定义渲染管线 -- 4.Spotlight Shadows
  5. vue-router的hash模式和history模式,
  6. LeetCode 24 Swap Nodes in Pairs (交换相邻节点)
  7. 奇怪吸引子---Aizawa
  8. 解决启动Biee控制台乱码问题
  9. 这几天有django和python做了一个多用户博客系统(可选择模板) 没完成,先分享下...
  10. 弹体飞行姿态仿真软件程序代写