javascript 获取iframe中的dom
太扯了,一个多小时都没搞定,获取不到iframe中的dom元素。
<div id="one">
this is one
</div>
<div>
<iframe src="./demo.html" id="test"> </iframe>
</div> <script type="text/javascript"> console.log(window.frames["test"].document.getElementById("two").innerHTML)//IE
console.log(document.getElementById("test").contentWindow.document.getElementById("two").innerHTML)//W3C
console.log(document.getElementById("test").contentDocument.getElementById("two").innerHTML)//W3C </script>
三个输出都是 null ,是什么原因呢?
把这段js写到window.onload=function(){}就可以啦。js执行的时候,iframe还没加载完成啦。
<script type="text/javascript">
window.onload=function(){
var test=document.getElementById("demo").contentWindow.document.getElementById("test");
var one=document.getElementById("one");
console.log(test.ownerDocument.getElementsByTagName("P")[0].innerHTML);
console.log(one.ownerDocument.getElementsByTagName("P")[0].innerHTML);
console.log(test.ownerDocument===one.ownerDocument); //false
}
</script>
这个地方看出来iframe 中元素的ownerDocument 和 文档中元素的ownerDocument 是不同的
javascript 获取iframe中的dom的更多相关文章
- jquery获取iframe中的dom对象
父窗口中操作iframe:$(window.frames["iframeChild"].document) //假如iframe的id为iframeChild 在子窗口中操作 ...
- javascript获取iframe框架中页面document对象,获取子页面里面的内容,iframe获取父页面的元素,
javascript获取iframe框架中,加载的页面document对象 因为浏览器安全限制,对跨域访问的页面,其document对象无法读取.设置属性 function getDocument(i ...
- javascript 获取iframe里页面中元素值的方法 关于contentWindow和contentDocumen
javascript 获取iframe里页面中元素值的方法 IE方法:document.frames['myFrame'].document.getElementById('test').value; ...
- Jquery-获取iframe中的dom对象
父窗口中操作iframe: $(window.frames["iframeChild"].document) //假如iframe的id为iframeChild 在子窗口中操作父窗 ...
- 【学习】如何用jQuery获取iframe中的元素
(我的博客网站中的原文:http://www.xiaoxianworld.com/archives/292,欢迎遇到的小伙伴常来瞅瞅,给点评论和建议,有错误和不足,也请指出.) 说实在的,以前真的很少 ...
- Js/Jquery获取iframe中的元素
转载: Js/Jquery获取iframe中的元素 - - ITeye技术网站http://java-my-life.iteye.com/blog/1275205 在web开发中,经常会用到ifram ...
- js 获取iframe中的元素
今天要修改编辑器插件中的元素遇到的问题 jquery 在父窗口中获取iframe中的元素 1.Js代码 格式:$("#iframe的ID").contents().find(&qu ...
- 获取iframe中的元素
父窗口中获取iframe中的元素 var ifr = document.getElementById('suggustion').contentWindow.document.body; 在ifram ...
- Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法
在web开发中,经常会用到iframe,难免会碰到需要在父窗口中使用iframe中的元素.或者在iframe框架中使用父窗口的元素 js 在父窗口中获取iframe中的元素 1. 格式:window ...
随机推荐
- 《深入浅出Node.js》第6章 理解 Buffer
@by Ruth92(转载请注明出处) 第6章 理解 Buffer ✁ 为什么需要 Buffer? 在 Node 中,应用需要处理网络协议.操作数据库.处理图片.接收上传文件等,在网络流和文件的操作中 ...
- (原创)VM中的CentOS6.4中安装CloudStack6.3②
接着VM中的CentOS6.4中安装CloudStack6.3①中文章接着,往下面安装 4.更新 yum 仓库 默认情况下,CentOS的软件源中没有收录最新版本CloudStack,为了能顺利安装, ...
- linux 服务的操作
启动和停止服务service 命令用于启动及停止某个服务,例如:service camsd stop 停止 camsd 服务service oracled start 启动 oracled ...
- linux下的守护进程
关于守护进程,在此会介绍一下几种: 1.screen 2.supervisord(python) 一:Screen 开始使用Screen 简单来说,Screen是一个可以在多个进程之间多路复用一个物理 ...
- ABAP 生产订单的创建与修改函数
ABAP 生产订单的创建与修改函数转自http://www.cnblogs.com/aBaoRong/archive/2012/04/11/2441946.html 如果生产订单过多,可以批量创建 ...
- mysql 内存相关文章
简单计算:http://www.mysqlcalculator.com/ 相关文档:http://mingxinglai.com/cn/2016/04/mysql-memory-usage-formu ...
- dedecms 后台发布后的文章不能编辑出现一片空白的解决办法
dede后台无法写新文章也无法编辑以前的文档,文章编辑的地方无法写入,出现无法显示该页面的问题,这是怎么回事?我的dede在ftp中换过文件夹,是不是跟这个有关?该如何解决这个问题? 以下修改是针对d ...
- ios 多种传值方式
在网上看了看传值方法,没有找到完整的.在这把自己看到的几种传值方法写写吧. 1 . 属性传值 2 . 通知传值 3 . 代理传值 4 . block传值 5 . 单列传值 6 . ShareAppli ...
- leetcode 179. Largest Number 求最大组合数 ---------- java
Given a list of non negative integers, arrange them such that they form the largest number. For exam ...
- 解决嵌入式linux系统下iconv库的移植问题
一.解决问题 在arm开发板上使用framebuff,在汉字显示时,因为只有gb2312的16*16的汉字字库,而ubuntu16.04默认 的编码方式时utf-8,因此需要进行转码(ut ...