【发布时间】:2010-11-05 05:30:54
【问题描述】:
我正在尝试学习 jQuery 的 ajax 函数。我已经让它工作了,但是 jQuery 在返回的 HTML DOM 中找不到元素。在与 jquery 相同的文件夹中,运行此页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>runthis</title>
<script type="text/javascript" language="javascript" src="jquery-1.3.2.min.js"></script>
<script tyle="text/javascript">
$(document).ready(function(){
$('input').click(function(){
$.ajax({
type : "GET",
url : 'ajaxtest-load.html',
dataType : "html",
success: function(data) {
alert( data ); // shows whole dom
alert( $(data).find('#wrapper').html() ); // returns null
},
error : function() {
alert("Sorry, The requested property could not be found.");
}
});
});
});
</script
</head>
<body>
<input type="button" value="load" />
</body>
</html>
加载此页面“ajaxtest-load.html”:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>load this</title>
</head>
<body>
<div id="wrapper">
test
</div>
</body>
</html>
它会发出两个警报。一个显示 DOM 已加载,但第二个显示 NULL 而不是#wrapper。我究竟做错了什么?
编辑:我正在加载“ajaxtest-load.html”,其中包括整个标题,再次包括 jquery。是这个问题吗?
【问题讨论】:
-
也许清理顶部代码并在 'ajaxtest-load.html' 上发布 html 的样子
-
第二个 html 块是 ajaxtest-load.html。编辑了描述。对此感到抱歉。