如何从HTML文件中访问iframe中的加载URL的“id”,“name”等

时间:2011-03-31 08:15:54

标签: javascript jquery

我有一个Iframe.html文件:

<body onload="alert('frame 1 loaded');">
<div> This is frame 1 content </div>
<a id="a1" href="Sample.html"> click</a> 
</body>

Sample.html

<body>
<ul id="list1">
<li name="one">one</li>
<li name="two">two</li>
</ul>

我调用iframe表单test.html文件:

   <script type="text/javascript" src="jquery-1.5.1.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
    var i=10;
    $("#frame1").ready(function () { 

    $('#frame1').contents().find('#a1').click(function() {
       alert("Hello");
      $('#frame1').attr('src', $('#frame1').contents().find('#a1').attr("href"));
      $('#frame1').load();
    });
    $('#frame1').contents().find('#a1').click(); 
</script>
    </head>
    <body onload="handleMainOnload();">
        <!--iframe id="frame1" src="about:blank"/-->
        <iframe id="frame1" src="iframe.html"/>
    </body>

现在我尝试使用iframe中加载的网址内容,即test.html中的Sample.html,如下所示:

$('#frame1').contents().find('#list1 li[name=one]').click(function() {
   alert(" Clicking list....");
});

$('#frame1').contents().find('#list1 li[name=one]').click(); 

但这不起作用..你能告诉我从Test.html如何访问使用JQuery加载到iframe.html中的(id,name,class等)的Sample.html文件内容。 请帮忙。

由于 Kamakshi

2 个答案:

答案 0 :(得分:0)

要访问HTML中包含的iframe内的任何文档,请访问以下页面:

<html>
....
<body>
<iframe id='myFrame' name='myFrame' src='someUrl'>
</body>
</html>

您可以使用以下脚本访问

myFrame.document.getElementById('elementID');

确保您提供用于访问框架本身的名称(此处为:myFrame)。 elementID是在iframe

中加载的html / url中的任何元素的id

答案 1 :(得分:0)

<html>
<head>
<title>Main Frame 2 Title </title>
<script type="text/javascript" src="jquery-1.5.1.min.js"></script>
<script type="text/javascript"> 
------
------
alert("frame ready");
var $value1 = $frame.contents().find('#list1 li[name=one]').html() ;
alert("loaded + " + $value1);
$frame.contents().find('#list1 li[name=one]').click(function() {
    alert("About + clicked");
}); 
$frame.contents().find('#list1 li[name=one]').click();
 });  });
</script>
</head> 
<body>
 <iframe id="frame1" src="sample.html" />  

如果我直接使用iframe src=sample.html而不是使用其他文件重定向(即src=iframe.html)并将Sample.html与父文件(test.html)保持在同一个域中,则此工作正常。< / p>