我如何使用JavaScript访问iframe元素?

我有一个网页,在iframe中有一个texarea。 我需要从它的子页面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> 

和JavaScript

 function iframeRef( frameRef ) { return frameRef.contentWindow ? frameRef.contentWindow.document : frameRef.contentDocument } var inside = iframeRef( document.getElementById('one') ) 

inside现在是一个文档的引用,所以你可以做getElementsByTagName('textarea')和任何你喜欢的,取决于iframe里面的src。

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

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