首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >$(opener.document).find('.target').css('display')不在资源管理器中工作

$(opener.document).find('.target').css('display')不在资源管理器中工作
EN

Stack Overflow用户
提问于 2018-11-08 02:41:52
回答 1查看 145关注 0票数 0

在父母中,

代码语言:javascript
复制
<tr class="target" style="display:none;">
    <td class="label">Test</td>
</tr>

在弹出式窗口,

代码语言:javascript
复制
...
<script>
$(document).ready(function () {
    var target = $(opener.document).find('.target').css('display');
    if(target == "none"){
        ...
    }
});
<script>
</head>
<body>
...

如上所述,父窗口的显示值是从弹出窗口中获取的。但是,它并不适用于IE。在IE中,显示值为“未定义”。然而,在Chrome中,它通常被设置为“无”。

如何从IE中的弹出式窗口中获取显示值?

+++

我错过的一件事是通过iframe打开的弹出式窗口。

因此有一个父窗口,其中有一个iframe,在这个iframe中打开一个弹出窗口。我想从弹出窗口获取iframe的显示值。

EN

Stack Overflow用户

回答已采纳

发布于 2018-11-08 03:15:58

您应该将目标文档作为jQuery函数的上下文传递。您可以使用http://api.jquery.com/jquery/#jQuery1的第二个参数来做到这一点。

所以对你来说

代码语言:javascript
复制
var target = $('.target', opener.document).css('display');

但是IE有一个奇怪的错误,opener.getComputedStyle()的值都会被设置为null

因此,我找到的唯一解决办法是在jQuery本身中加载opener,并从弹出窗口调用它自己的jQuery函数:

代码语言:javascript
复制
var target = opener.$('.target').css('display');

活普朗克

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53200794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档