Jquery 无法获取。将输出附加到“正文”

Jquery 无法获取。将输出附加到“正文”,jquery,Jquery,我有这个作为我的代码,但我不能得到它的输出。它应该输出到 var guestList = [{ name: "Alex", address: "283 Happy Lane" }, { name: "Avery", address: "32 Skippy Skip" }, { name: "Pat", address: "666 Heaven St." }, { name: "Bobbie", address: "83 Qualit

我有这个作为我的代码,但我不能得到它的输出。它应该输出到

var guestList = [{
    name: "Alex",
    address: "283 Happy Lane"
}, {
    name: "Avery",
    address: "32 Skippy Skip"
}, {
    name: "Pat",
    address: "666 Heaven St."
}, {
    name: "Bobbie",
    address: "83 Quality St."
}, {
    name: "Parker",
    address: "92 Batty Bat"
}];
$(document).ready(function () {
    for (pointer = 0; pointer < guestList.length; pointer++) {
        labelHtml =
            "<div class='label'>" + "<p>" + guestList[pointer].name + "</p>" + "<p>" + guestList[pointer].address + "</p>" + "</div>";
        $("body").append(labelHtml);
    }
});

这段代码对我很有用,这让我问你两个愚蠢的问题:

页面上是否包含jQuery? 您是否有阻止列表的样式表规则 不显示项目或列表? 很抱歉,这只能是这两件事中的一件。

几处更正:

在脚本开头使用.ready函数总是安全的 未定义指针变量。 您没有将其追加,而是将其分配给变量labelHtml。 更新脚本:


这个代码实际上是有效的!请看这里:

您是否正确地包含了jQuery?尝试:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
如果您使用的是jquery mobile,那么就不应该使用$document.ready,因为jqm使用ajax加载页面,并且不能保证$document.ready在这种上下文中正常工作。看看这个

试试看,在“pageinit”上。。。或者也许,在“pageshow”上。。。取而代之的是任何适合你需要的东西:

$(document).on('pageinit', function () {
    var guestList = [
    {
        name: "Alex",
        address: "283 Happy Lane"
    }];

    for (var pointer = 0; pointer < guestList.length; pointer++) {
        labelHtml +=
            "<div class='label'>" + "<p>" + guestList[pointer].name + "</p>" + "<p>" + guestList[pointer].address + "</p>" + "</div>";
        $("body").append(labelHtml);
    }
});

在将内容添加到dom中之后,您可能需要对其进行增强。

我已经在其中添加了内容。我更改了$body.appendlabelHtml;到$body.appendlabelHtml;然后输入了输出,突然它就工作了……如果jquery正确地包含了,那么将$body放在标记中不起作用的唯一其他可能性就是一些css规则,它阻止了元素的显示。如果你想继续调查,你可以用chrome中的inspector cmd+alt+i检查元素是否附加到了,并检查css样式的应用。在此上下文中不要使用$document.ready。应改用pageinit或pageshow。
$(document).on('pageinit', function () {
    var guestList = [
    {
        name: "Alex",
        address: "283 Happy Lane"
    }];

    for (var pointer = 0; pointer < guestList.length; pointer++) {
        labelHtml +=
            "<div class='label'>" + "<p>" + guestList[pointer].name + "</p>" + "<p>" + guestList[pointer].address + "</p>" + "</div>";
        $("body").append(labelHtml);
    }
});