我想使用ajax将xml添加到我的html中,但我似乎无法使用jquery 将div存储在我需要的变量中。当我在控制台上调用变量时,它返回undefined。目前我有:
var target = $(this).parent().find(".thread")[0];
console.log(target);
我想插入xml的html如下所示:
<div class="thread"></div>
这是javascript文件:
var Threads = (function() {
var pub = {};
function produceThreads(data, target) {
$(target).append("<ul>");
$(data).find("thread").each(function() {
var title = $(this).find("title")[0].textContent;
var posts = $(this).find("posts")[0].textContent;
$(target).append("<li>" + title + "</li>");
$(target).append("<li>" + posts + "</li>");
});
$(target).append("</ul>");
}
function showThreads() {
var target = $(this).parent().find(".review")[0];
console.log(target);
var data = "forum.xml";
$.ajax({
type: "GET",
url: data,
cache: false,
success: function(data) {
produceThreads(data, target);
}
});
}
pub.setup = function() {
showThreads();
};
return pub;
}());
$(document).ready(Threads.setup);
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Forum</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="Forum.css">
<script src="jQuery-1.10.2.min.js"></script>
<script src="Forum.js"></script>
</head>
<body>
<header>
<h1>Forum</h1>
</header>
<p>
<a href="users.html">users</a>
</p>
<div class="thread"></div>
</body>
</html>
这个想法是在html加载后立即显示来自produceThreads函数的xml列表,但是当我甚至无法存储目标变量时,我几乎不能拥有它。我使用的jQuery版本是1.10.2.min。