Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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访问iframe元素?_Javascript_Dom_Iframe - Fatal编程技术网

如何使用Javascript访问iframe元素?

如何使用Javascript访问iframe元素?,javascript,dom,iframe,Javascript,Dom,Iframe,我有一个在iframe中有一个文本区域的网页。我需要从它的子页面JavaScript读取这个textarea的值。目前,通过在JavaScript中使用window.parent.getelementbyID().value,我能够获取父页面中所有控件的值,iframe中的textarea除外 “我的父页面”中的框架id和框架名称在运行时会更改,因此我们不能使用框架id/框架名称作为参考。如果您有HTML <form name="formname" .... id="form-first"

我有一个在iframe中有一个文本区域的网页。我需要从它的子页面JavaScript读取这个textarea的值。目前,通过在JavaScript中使用
window.parent.getelementbyID().value
,我能够获取父页面中所有控件的值,iframe中的textarea除外

“我的父页面”中的框架id和框架名称在运行时会更改,因此我们不能使用框架id/框架名称作为参考。

如果您有HTML

<form name="formname" .... id="form-first">
    <iframe id="one" src="iframe2.html">
    </iframe>
</form>

inside
现在是对文档的引用,因此您可以执行
getElementsByTagName('textarea')
和任何您喜欢的操作,具体取决于iframe src内部的内容。

使用jQuery,您可以使用
contents()
。例如:

var inside = $('#one').contents();

仅1个关注点Meder--var inside=iframeRef(document.getElementById('one'))我的页面中的frameid n framename在运行时会发生更改,因此无法传递frameid(如您所做)。还有其他选择吗?有。getElementsByTagName('iframe')引用节点列表并访问[0]中的元素,假设您正在处理一个节点列表。或者你可以做一个循环。谢谢你,梅德。再问一个问题--“frameRef.contentWindow.document”和“frameRef.contentDocument”之间有什么区别?我想了解这背后的概念。如果你能解释一下,那就太好了。非常感谢你的帮助。可以找到一个解释@一些浏览器支持这些dom属性之一,我只是检查其中一个。你是一个天才医生。非常感谢您的即时帮助。完全重复:@archana:RaYell的回答包括您第一次问这个问题时的评论。如果您不知道框架id或名称,可以使用
document.frames[0].document.getElementById()
(如果它不是页面上的第一个
,则可以使用其他一些索引。这里一个重要注意事项的可能重复之处是contents方法可以如果iframe与主页位于同一域中,则获取iframe的内容文档
var inside = $('#one').contents();