2014-02-09 19 views
1

我不知道爲什麼下面不工作:獲取與window.frames性能的關係iframe的ID IFRAME

<!DOCTYPE html> 
<html> 

<head> 
    <meta charset="UTF-8"> 
    <title>Iframe</title> 
    <style> 
    </style> 
</head> 

<body> 
    <iframe name="myFrame"></iframe> 
    <script> 
     window.frames["myFrame"].style.background = "green"; 
    </script> 
</body> 

</html> 


然而,如果你使用它的ID直接訪問的iframe,它的工作原理沒有問題:

<!DOCTYPE html> 
<html> 

<head> 
    <meta charset="UTF-8"> 
    <title>Iframe</title> 
    <style> 
    </style> 
</head> 

<body> 
    <iframe id="myFrame"></iframe> 
    <script> 
     document.getElementById("myFrame").style.background = "green"; 
    </script> 
</body> 

</html> 


我如何使用window.frames率先拿到代碼正常運行?

回答

0

這對您不起作用,因爲它會返回框架內的窗口對象而不是iframe元素。如果你想使用name屬性,你可以使用document.getElementsByName("myFrame")[0],但我建議通過id來訪問它。

1

我認爲你必須做一個for循環找到所有的幀,然後通過它們的索引訪問它們。

for(var i=0; i < frames.length; i++) { 
    console.log(frames[i]); 
}