使用jquery加载外部文件,然后引用它

时间:2013-08-15 20:56:07

标签: javascript jquery dom

我有一个js文件,它将一些内容(外部html文件)加载到DOM中,然后警告刚刚加载的内容

boo.html

<div id="tyler">
   Tyler
</div>

play.js

$('#result').load('../html/boo.html');
var mike = $('#tyler').text();
alert(mike);

file.html

<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>A</title>

    </head>
    <body>
        <div id="result"></div>
        <script type="text/javascript" src="play.js">
    </body>
</html>

出于某些奇怪的原因我alert(mike)我得到的是空白。你不能附加一个带有一些id的div然后引用你刚注入的新div吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

.load()是异步的。它熄灭并完成它的事情,你的代码继续在线执行。因此,如果您立即检查内容,它将不会存在。服务器需要一段时间才能响应,向您发送HTML并将其插入DOM。

您需要使用回调来执行此操作。回调是异步事件完成时触发的事件。

$('#result').load('../html/boo.html',function() { alert("moo, this is the callback") });

http://api.jquery.com/load/