.append 的 CSS 不会影响 IE/Edge 中的 iframe

Posted

技术标签:

【中文标题】.append 的 CSS 不会影响 IE/Edge 中的 iframe【英文标题】:.append of CSS doesn't affect iframe in IE/Edge 【发布时间】:2019-06-18 19:16:39 【问题描述】:

我有一个 iframe,我需要将 CSS 附加到其中。它适用于除 IE/Edge 之外的所有浏览器。我需要在这个 iframe 中隐藏标题,我正在使用 .append 来做到这一点。

我试过.append("<style type='text/css'> #header display: none;</style>'); 我也试过-ms-high-contrast 媒体查询。

$(document).ready(function()
    $('iframe').load( function() 
        $('iframe').contents().find("head")
            .append("<style type='text/css'> #header display: none 
 !important;</style>"); 
    );
);

我希望我的 id 为 #header 的 div 隐藏在 iframe 内的 IE/Edge 浏览器上。

【问题讨论】:

标头在您的 iframe 中是如何工作的?您能否分享详细的代码,例如 html 代码?这将使我们更容易重现问题并为您提供帮助。 这是我正在制作 iframe 的页面 (drury.edu/evening-and-online/majors-minors-even)。我正在尝试使用“标题”类隐藏 div。这是我的 iframe html 代码: 【参考方案1】:

直接修改#header div会简单很多,像这样:

$("iframe").contents().find("#header").css(display:"none");

或非 jQuery 版本:

document.querySelector('iframe').contentDocument.querySelector("#header").style.display="none";

请注意,如果您自己的页面不在 drury.edu,contents() 将不起作用。浏览器不会让您构筑别人的网站,然后再玩弄它。

【讨论】:

以上是关于.append 的 CSS 不会影响 IE/Edge 中的 iframe的主要内容,如果未能解决你的问题,请参考以下文章

允许Python list append方法返回新列表

css3绘制的图形会不会影响原来的div

为啥 Chrome 会忽略 IE 条件标签?

无论您对它做啥,Angular Material Icon 显然都不会对齐?尽管 Flex 布局指令和 CSS 会影响它,但它从未对齐

触摸屏设备上的 CSS 悬停不会被忽略

js 和 css 是如何影响DOM树构建的?