javascript怎么操作iframe页面里面的dom元素? 20
a页面中有个:<iframeid="test"name="test"src="iframe.html"></iframe>iframe.html页面有个inputtype...
a页面中有个:<iframe id="test" name="test" src="iframe.html"></iframe>
iframe.html页面有个 input type="button" value="点击" id="btn">
在a页面中点击iframe页面里面的按钮,然后弹出一个对话框 alert("iframe里面的按钮被成功点击了");
这是我参考写的代码,但是点击按钮根本没弹出,
<script type="text/javascript">
function getIFrameDocument(aID) {
var ifr = document.getElementById(aID).contentWindow.document||document.frames[aID].document;
return ifr;
}
var ifrdoc = getIFrameDocument('test');
var btn=ifrdoc.getElementById('btn');
btn.onclick=function(){alert("iframe里面的按钮被成功点击了");}
</script>
用firebug调试的时候如下错误提示:
TypeError: btn is null
var btn=ifrdoc.getElementById('btn');
哪里错了?正常的操作iframe里面的dom元素,兼容的写法? 展开
iframe.html页面有个 input type="button" value="点击" id="btn">
在a页面中点击iframe页面里面的按钮,然后弹出一个对话框 alert("iframe里面的按钮被成功点击了");
这是我参考写的代码,但是点击按钮根本没弹出,
<script type="text/javascript">
function getIFrameDocument(aID) {
var ifr = document.getElementById(aID).contentWindow.document||document.frames[aID].document;
return ifr;
}
var ifrdoc = getIFrameDocument('test');
var btn=ifrdoc.getElementById('btn');
btn.onclick=function(){alert("iframe里面的按钮被成功点击了");}
</script>
用firebug调试的时候如下错误提示:
TypeError: btn is null
var btn=ifrdoc.getElementById('btn');
哪里错了?正常的操作iframe里面的dom元素,兼容的写法? 展开
3个回答
展开全部
直接调用iframe对象的document就可以,方法和document里的一样。不过注意,如果iframe是跨越引用的,会受到限制,不能访问其中内容。也就是你不能引用百度的页面,篡改其中的内容,只能改自己网站的。
<iframe src="xxx.html" id="myiframe"></iframe>
<script>
var mydoc=document.getElementById("myiframe").document;
mydoc.write("<div id='newdiv'></div>")
mydoc.getElementById("newdiv").innerText="hello";
</script>
<iframe src="xxx.html" id="myiframe"></iframe>
<script>
var mydoc=document.getElementById("myiframe").document;
mydoc.write("<div id='newdiv'></div>")
mydoc.getElementById("newdiv").innerText="hello";
</script>
展开全部
您好:解决办法可以这样,写好操作dom元素的方法,然后在其他页面如果是iframe的话,可以用iframe.praent[“iframe的name”].函数名。可以这样调用。还可以用ajax页面传值。在接受页面判断这个值如果标识什么动作,就执行你写好的那个操作dom的动作就可以了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有错!在IE下运行是正确的。在chrome就不一定了。本地文件在chrome测试,一直说跨域操作文件,阻止(按F12转到script可以看到错误)。估计上传到服务器可以。
更多追问追答
追问
在ie下btn.onclick也是没有弹出来啊
追答
我这边可以弹出来啊!
是本地测试不?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询