javascript - 如何找出元素是否在隐藏的 iframe 中

标签 javascript jquery html css iframe

使用 jQuery,可以很容易地找出一个特定元素是否可见

$(element).is(':visible')

虽然有一些限制(不包括隐藏的 css 可见性或视口(viewport)中的实际可见性,即它是否被其他元素覆盖或滚动),但我发现它对我的场景很有用。 要注意的是,它只能在一个 iframe 中工作。

如果该元素在其文档中有任何带有 display:none; 的父元素,则返回 false。如果整个文档包含在具有 display:none 的 iframe 中,则返回 true。是否有可能以某种方式以其他方式检测到这一点?

最佳答案

嗯,看来您必须在 iframe 中调用顶级(父)文档,然后搜索特定的 iframe 并检查它是否可见。

你可能必须有相同的域/子域才能工作,但无论如何:

假设您知道 iframe id/class(您必须知道)。

if ($(top).find('#iframeID').is(':visible')) {
  // iframe is visible
} else {
 // iframe is NOT visible
}

不能保证正确工作。

关于javascript - 如何找出元素是否在隐藏的 iframe 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9076552/

相关文章:

javascript - 隐藏下一个类名被多次使用的 Div?

html - 侧导航栏延伸至底部

html css 对齐文本,使文本始终位于图像的右侧而不是图像下方

javascript - 如何将数组作为函数参数从 php 发送到 javascript

javascript - Meteor.js 应用程序不支持 IE 9

javascript - 如何在 React 中设置电话号码输入的样式?

javascript - 检索 HTML 表中复选框选定行的第一列值并相应地修改数据库

jquery - 在 IE 上动态 PDF

javascript - 更好的 Javascript 重定向或表单提交?

javascript - javascript 中的 Foreach 改变数组的顺序