ASP.NET 获取不同frame中的控件
最近在做网站时遇到一个问题,需要获取不同frame中的控件,请教了一些同事,他们都说是无法取到的,
在网上查找了很多资料,找到了解决方法,现在整理一下当初的解决思路:
1、我需要在mainFrame中控制leftFrame中一个DIV控件的显示,如图示:
2、直接在mainFrame中通过document.getElementById('div1')去获取,结果取不到;
3、既然直接取不到,那我可不可以先取得leftFrame中所有的控件呢,尝试了一下,是可以的;
1 var iObj=parent.document.getElementById('leftFrame').contentWindow;
4、都已经取到所有控件了,那我取一个div,不是就很好取了,如下;
1 iObj.document.getElementById('divTierNotes').style.display='none';
5、这样问题就解决了。
备注:
用iFrame嵌套页面时,如果父页面要获取子页面里面的内 容,可以使用contentWindow和contentDocument
contentWindow和contentDocument的区别:
>contentWindow:这是个只读属性,返回指定的iFrame的 window对象,各个主流浏览器都支持。
>contentDocument:Firefox支持,IE8以上版本支持,可 取得iFrame的document对象,需要如此访问 document.frames['leftFrame'].doucment。
完整代码:
1 JS文件: 2 function chkTierNoteDis(strDis) 3 { 4 //兼容所有浏览器 5 var iObj=parent.document.getElementById('leftFrame').contentWindow; 6 iObj.document.getElementById('div1').style.display=strDis; 7 } 8 9 后台: 10 string strDis = "none"; 11 ClientScript.RegisterStartupScript(this.GetType(), "key", "<script>chkTierNoteDis('" + strDis + "');</script>");
作者:Anne Han
出处:https://www.cnblogs.com/AnneHan
GitHub:https://github.com/AnneHan
如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐]
如果您对本文有意见或者建议,欢迎留言
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步