Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用window.frames属性和iframe ID获取iframe_Javascript_Html_Iframe - Fatal编程技术网

Javascript 使用window.frames属性和iframe ID获取iframe

Javascript 使用window.frames属性和iframe ID获取iframe,javascript,html,iframe,Javascript,Html,Iframe,我想知道为什么以下方法不起作用: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Iframe</title> <style> </style> </head> <body> <iframe name="myFrame"></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>


如何使用
window.frames
使第一个代码正常运行?

我认为您必须执行for循环以查找所有帧,然后通过它们的索引访问它们

for(var i=0; i < frames.length; i++) {
    console.log(frames[i]);
}
for(变量i=0;i
这不适用于您,因为它将返回帧内的窗口对象,而不是iframe元素。如果您想使用name属性,可以使用document.getElementsByName(“myFrame”)[0],但我建议您通过id访问它。

对于getElementsByName,它应该同样有效,请注意它返回的是元素数组,而不是元素

对于名称为“myFrame”且id为“myFrame”的框架,这两条语句应具有相同的效果:

for(var i=0; i < frames.length; i++) {
    console.log(frames[i]);
}
document.getElementsByName("myFrame")[0].style.background = "green";
document.getElementById("myFrame").style.background = "green";