如何访问嵌套在DOM中的项值?

时间:2009-09-21 02:39:59

标签: javascript

希望有人可以提供协助,但我需要从嵌套3级和4级深度的父表单中访问表单和iframe中的值。

基本上,树层次结构(DOM)似乎如下:

<form name="formname" ....>
   <iframe id="refframe">
     <form name="formname" ...>              ==> Level 3
       <iframe id="iframe1">                 ==> Level 4

现在我在第3级(比如myValue)有一个项目值,我想从顶层访问(父级 - 级别1)

使用javascript,如何从父级顶级访问此项“myValue”?

访问iframe1的iframe id

中的第4级项目也是如此

非常感谢任何帮助/示例。

感谢。

根据以上内容,我仍然不确定如何访问信息,但如果我有以下HTML代码:

<div class="tabs0">

<iframe id="refframe" width="1210px" height="584px" frameborder="0" align="left"

overflow="auto" src="http://www.abc.com" home="" name="Site1">
</iframe>

</div>

<div class="tabs1">
<iframe id="refframe" width="1210px" height="584px" frameborder="0" align="left"  `overflow="auto" src="http://www.def.com" name="Site2">`

如何从父窗口访问tabs1类iframe中的src值,即

SRC = “http://www.def.com”

再次感谢

3 个答案:

答案 0 :(得分:3)

iframe中的内容是否与父文档在同一个域中加载?如果没有,那么由于浏览器安全限制(same domain policy),您将无法通过javascript访问它。

如果它来自同一个域,您应该可以毫无问题地使用getElementById

答案 1 :(得分:1)

只需使用id作为唯一值(因为它应该是 - 参见例如here,第7.5.2节) - 然后,GetElementById完成你想要的,没有要求您导航任何复杂的层次结构。

答案 2 :(得分:1)

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


function iframeRef( frameRef ) {
    return frameRef.contentWindow ? frameRef.contentWindow.document : frameRef.contentDocument
}

var inside = iframeRef( document.getElementById('one') )

var secondIframe = inside.getElementsByTagName('iframe')
alert( secondIframe.id ) // make sure theres an iframe with an id in the iframe2.html.

您可以使用iframeRef来抓取iframe内部的引用,并继续这样做以获取子iframe。这适用于IE。