假设我有一个包含多个IFrame的页面:
主页
<div id='someDiv1' style='display:none; '> <iframe id='iframe1' src='iframe1.html'> <input id='someinput'></input> </iframe> </div>
IFrame(iframe1.html)
<input id='someinput'></input> <script> function isElementVisible(elem){ } </script>
在这种情况下,我如何检查元素是否可见/隐藏由于IFrame的父div隐藏它?
我尝试使用$(‘#someinput’).is(‘:visible’)但如果我在IFrame中运行它,我总是会成功.我没有选项来更改页面结构,也没有在父级内部执行脚本.
解决方法
iframe中的文档并不知道主页中的情况…但我相信你可以“查询”你的父母,看看它是否可见?
$('#someDiv1',window.parent.document).is(":visible");
或没有jquery,因为你真的不需要它..
if(window.parent.document.getElementById("someDiv1").style.display != "none") alert("Visible"); else alert("Hidden");