![](/img/trans.png)
[英]How to remove style from iframe tag (not inside iframe but inside tag)
[英]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");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.