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";