繁体   English   中英

如何从 iframe 内容中的 div 中删除 class

[英]How to remove class from div inside iframe contents

我有这个结构,我想从div中删除test2 class

iframe1 -> iframe2 -> <div class="test1 test2">.... </div>

我可以访问 iframe2,但我无法在第二个 iframe 中找到上面的 div。

这是我试过的

document.querySelectorAll('iframe').forEach(item => {
            var y = item.contentDocument.body.getElementsByTagName("iframe");
            setTimeout(() => {
                y[0].style.width = '100vw'; 
                $(y[0]).contents().find(".test2").removeClass('.test2')
            }, [500])
        })

y[0].style.width = '100vw';

这是工作。 但我无法通过test2找到 div class

console.log(y[0]) 是预期的 iframe。

在此处输入图像描述

y[0].contentDocument是 null

如果有人可以帮助我。 提前致谢

同样在一些答案中,我发现如果 iframe 是跨源的,我们就不能更改它的内容。 但在这里我有相同的起源。

我只想要一些 css 更改,我需要删除 test2 class 或覆盖它。

假设如下所示的模拟结构,都具有相同的来源:

index.html

<body>
  <iframe id="iframe1" src="index2.html"></iframe>
</body>

index2.html

<body>
  <iframe id="iframe2" src="index3.html"></iframe>
</body>

index3.html

<body>
  <div class="test2">Foo</div>
</body>

您将需要以下令人困惑的代码。

var f1 = $("#iframe1");
var f2 = $("#iframe2", f1.contents());
var target = $(".test2", f2.contents());
target.removeClass("test2");

这是基于以下内容: Selecting an element in iframe with jQuery

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM