等到jquery函数完成

时间:2013-12-24 07:57:49

标签: javascript jquery html iframe

我的页面中有一个iframe我正在使用jquery更改其src属性,问题是我要等到iframe加载然后我需要调用其他一些函数。这是我的代码:

HTML:

<div id="content">
    <iframe name="mainFrame" id="mainFrame" frameborder="0" scrolling="no"
            src="pages/page1.jsp"></iframe>
</div>

JQuery的:

$('#mainFrame').attr('src','pages/page2.jsp'); // wait until the iframe is loaded
$('#myTable').html('some stuff'); // then call this

注意:两个页面中都存在#myTable元素,因此当我调用此段代码时,它会更改#myTablepage1的内容},然后更改iframe的src

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

你可以试试这个。

<强> Working Fiddle

会工作:

 $('#mainFrame').attr('src','pages/page2.jsp'); 
 $('#Myiframe').load(function(){
    $('#myTable').html('some stuff'); // then call this
 });

不起作用:

 $( "#mainFrame" ).load( "pages/page2.jsp", function() {
   $('#myTable').html('some stuff');
 });

如果iframe网址来自同一个域。为了访问iframe的内部内容,您应该使用:

$('#Myiframe').contents().html('somestuff')

答案 1 :(得分:0)

使用.load函数并将后续函数放在回调中:

$( "#mainFrame" ).load( "pages/page2.jsp", function() {
  $('#myTable').html('some stuff');
});