javascript - 如何使用 jQuery 检查页面上的 IFrame 是否可见

标签 javascript jquery html css iframe

假设我有一个包含多个 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 中运行它,我总是得到 true。我没有更改页面结构的选项,也没有在父级中执行脚本的选项。

最佳答案

您的 iframe 中的文档不知道您主页中的情况...但我相信您可以“查询”您的父级以检查它是否可见?

$('#someDiv1', window.parent.document).is(":visible");

或者没有 jquery 因为你真的不需要它..

if(window.parent.document.getElementById("someDiv1").style.display != "none") 
    alert("Visible");
else 
    alert("Hidden");

关于javascript - 如何使用 jQuery 检查页面上的 IFrame 是否可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24529625/

相关文章:

javascript - WordPress : Post Content Need in the bootstrap modals without repeating the model in loop

javascript - 阴影框叠加单击淡出

Jquery UI 破坏了网站上的所有其他表

javascript - HTML5 视频字幕样式

html - 我的应用程序中字符之间没有空格

javascript - 使用 Javascript 设置 Cookie 并清理值

javascript - 如何通过在对象内的数组中搜索字符串来查找值

javascript - 如何将 `scroll` 条添加到 `div` ,当它的高度为 `auto`

jquery - 如何在具有相同功能的 div 和按钮中分配空白区域?

html - 在不影响文本的情况下更改其中一个 Bootstrap 背景透明