当我在变量中存储一个简单的jquery选择器时,为什么控制台没有定义?
我想使用ajax将xml添加到html中,但似乎无法使用jquery 在我需要的变量中存储div。当我在控制台上调用变量时,它返回undefined。目前我有:当我在变量中存储一个简单的jquery选择器时,为什么控制台没有定义?,jquery,Jquery,我想使用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 =
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);
var Threads=(函数(){
var pub={};
函数produceThreads(数据、目标){
$(目标)。追加(“”);
$(数据)。查找(“线程”)。每个(函数(){
var title=$(this).find(“title”)[0].textContent;
var posts=$(this).find(“posts”)[0].textContent;
$(目标)。追加(“- ”+标题+“
”);
$(目标)。追加(“- ”+帖子+“
”);
});
$(目标)。追加(“
”);
}
函数showThreads(){
var target=$(this.parent().find(“.review”)[0];
控制台日志(目标);
var data=“forum.xml”;
$.ajax({
键入:“获取”,
url:数据,
cache:false,
成功:功能(数据){
produceThreads(数据、目标);
}
});
}
pub.setup=function(){
showThreads();
};
返回酒吧;
}());
$(文档).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 为什么要使用$(this.parent().find()而不仅仅是$()?看起来find方法没有找到任何东西。谢谢你,Michiel,你刚刚解决了它。