假设我有一个包含多个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");