2016-06-08 76 views
-1

我需要改變我的框架元素的樣式,但在iframe沒有ID或類或名稱的JavaScript - 訪問iframe的元素

<div id="A"> 
     <iframe src="iframe-left.html"> 
      <div class="login" style="display : none;"> </div> 
     </iframe> 
</div> 
<div id="B"> 
    <iframe src="iframe-right.html"> 
     <button onclick = "execute()">Submit</button> 
    </iframe> 
</div> 

function execute() 
{ 
    parent.document.getElementsByTagName("iframe").contentDocument.querySelector(".login").style.display = 'block'; 
} 

什麼是在javascript函數的錯誤呢?

+0

你知道,你makup,因爲它是在iframe標籤中的元素只有在用戶的瀏覽器無法呈現I幀渲染(這是從來沒有)。 – zer00ne

回答

1

您好我認爲你必須得到節點列表的第一個元素,看http://www.w3schools.com/jsref/met_document_getelementsbytagname.asp

在您需要做的。換句話說:

parent.document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".login").style.display = 'none'; 
+0

作品!非常感謝:D – Zero4

+0

高興! –

+0

'parent.document'應該如何工作?該函數是從父頁面而不是子頁面調用的。我測試了一下,看演示。 – zer00ne

-1

你爲什麼不使用jQuery? - 包括jQuery的腳本,然後和這個權利之後

<script> 
$('iframe').hide(); 
</script> 
+0

我們不能通過JS實現這個嗎?所有的代碼都是用JS編寫的,這就是JS的原因。如果失敗,我會嘗試jQuery – Zero4