2017-10-10 76 views
1

我试图从iframe中删除几个div选项卡,使用iframe中设置的onload函数来简化在一个位置中的所有内容。不能强调不够,因为大多数人似乎忽略了这样的事实,我想使用的onload在这个< IFRAME>尝试删除/删除内部框架中的div使用onload

<iframe scrolling=no frameborder=0 src='insertwebsitehere' width=100% onload="this.height=this.contentWindow.document.body.scrollHeight;" > #document </iframe> 

在div标签我想删除没有特定的ID,但类代替

  1. class="d2l-page-actions-container d2l-right"
  2. class="d2l-action-buttons"

我想到了在onload功能附加这样的事情;

<iframe onload="this.height=this.contentWindow.document.body.scrollHeight;this.contentWindow.document.html.body.removeClass('insertclasshere');"> 

但它不工作,建议?

任何帮助表示赞赏,谢谢提前

+0

请参阅https://stackoverflow.com/a/14066534/3088508 –

+0

能够详细说明我在寻找什么,这将适用于我的情况? – Toreono

+0

[按类名删除元素?](https://stackoverflow.com/questions/4777077/removing-elements-by-class-name) – sniperd

回答

0

在试试这个你onload

var elements = this.contentWindow.document.querySelectorAll('.d2l-page-actions-container.d2l-right, .d2l-action-buttons'); 
for (var i = 0; i < elements.length; i++) { 
    elements[i].parentNode.removeChild(elements[i]); 
} 

我无法测试,这是否会在你的iframe工作,但我的测试文档中工作:

<body onload="var elements = document.querySelectorAll('.d2l-page-actions-container.d2l-right, .d2l-action-buttons'); for (var i = 0; i < elements.length; i++) { elements[i].parentNode.removeChild(elements[i]); }"> 
 
    <div class="d2l-page-actions-container d2l-right">d2l-page-actions-container d2l-right</div> 
 
    <div class="d2l-action-buttons">d2l-action-buttons</div> 
 
    <div class="otherClass">otherClass</div> 
 
</body>

+0

感谢您回复David。我测试了它,但在输入iframe中的行后,整个事件消失了。 第二个想法,是否有可能只使用 this.contentWindow.document.querySelectorAll('text') 并添加删除功能?我以前尝试过类似的东西,但没有一个能够工作,并且我想假设它具有'this'='this.content .....',这是removeClass或其他任何 – Toreono

+0

nvm,这是有效的。刚刚在我修正的编码中出现错误。你是一个拯救生命的人:):P – Toreono

+0

如果你能帮忙,可以发一些其他的问题吗? – Toreono