我有一个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吗?
答案 0 :(得分:2)
.load()
是异步的。它熄灭并完成它的事情,你的代码继续在线执行。因此,如果您立即检查内容,它将不会存在。服务器需要一段时间才能响应,向您发送HTML并将其插入DOM。
您需要使用回调来执行此操作。回调是异步事件完成时触发的事件。
$('#result').load('../html/boo.html',function() { alert("moo, this is the callback") });