当我在变量中存储一个简单的jquery选择器时,为什么控制台没有定义?

当我在变量中存储一个简单的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 =

我想使用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);
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,你刚刚解决了它。