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

时间:2013-08-16 11:11:17

标签: 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 = (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。

0 个答案:

没有答案