如何获取<iframe>的元素内部<iframe>?</iframe>

时间:2015-04-14 06:42:44

标签: javascript html

我有简单的网页,在这个网页上,tage和那个id&#34; a1&#34; ,这包含内部的一个标签,那就是id&#34; a2&#34;。我想获得元素标签,其中id =&#34; a2&#34;使用javascript。

请帮助我,如何使用javascript获取<h1>代码:

&#13;
&#13;
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>get element from inner iframe </title>
</head>

<body>

<h1>hello world</h1>
  
<iframe id="a1" >
  
    <iframe id="a2">
        <h1 id="b1">help me</h1>
        <p  id="b2" >for get HTML tag using javascript DOM</p>
    </iframe>
  
</iframe>

</body>
</html>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:2)

首先,您无法将HTML代码直接放在iframe中。 您必须将其分成不同的文件,然后通过添加&#34; src&#34;来链接它。属于iframe。

现在,假设您有3个文件:

  1. index.html - 包含引用第一个iframe(#a1)并指向iframe1.html
  2. iframe1.html - 包含对第二个iframe的引用(#a2)并指向iframe2.html
  3. iframe2.html - 包含所需的h1标签(#b1)
  4. 以下是您需要的代码:

    var iframe1 = document.getElementById('a1');
    var iframeDoc1 = iframe1.contentDocument || iframe1.contentWindow.document;
    
    var iframe2 = iframeDoc1.getElementById('a2');
    var iframeDoc2 = iframe2.contentDocument || iframe2.contentWindow.document;
    
    var innerH1 = iframeDoc2.getElementById('b1');
    

    基本上,你得到每个iframe,然后你得到它的内部文件,然后你看看里面。

答案 1 :(得分:0)

内联框架用于在当前HTML文档中嵌入另一个文档。最好使用任何其他标记来代替iframe。与代码中的h1标记一样,具有id属性。您可以通过其id属性获取h1标记。

var x= document.getElementById("b1");

alert(x.innerHTML);

答案 2 :(得分:0)

使用

var iframe = document.getElementById('iframeId');// your frame id here
var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;

或者您可以使用

window.frames['frameID'].document.getElementById('frameID')