2017-10-10 91 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