JQuery:.hide() 不是一个有效的函数

Nic*_*ner 5 javascript syntax jquery

Firebug 抱怨这一行:

$("#original-description").text(response['course']['original_description']).hide();
Run Code Online (Sandbox Code Playgroud)

我有语法错误吗?对我来说看起来不错。

更多背景:

bindOnSuccess($('#course-search'), function(response) {
    if (!response) {
        $("#system-status").text("Sorry, no course could be found for that search.");
    }
    else {
        $(".dept-code").text(response['course']['dept_code']);
        $(".course-number").text(response['course']['number']);
        $(".course-title").text(response['course']['title']);

        $("#div-original-description").show();
        $("#original-description-teaser").show();

                    // error here
        $("#original-description").text(response['course']['original_description']).hide();

        $("#td-required-for").text(response['analysis']['cRequiredFor']);
    }
});
Run Code Online (Sandbox Code Playgroud)

response是一个 JSON 对象。这个问题可能是由无效的下标引起的吗?

Firebug 的错误是:

$("#original-description").text(response.course.original_description).hide is not a function
Run Code Online (Sandbox Code Playgroud)

med*_*iev 4

其他答案指出错误 -.text()返回 jQuery 对象。您可能引用了未定义的属性。我可以复制这个:

$('<p>').text(undefined).hide()
Run Code Online (Sandbox Code Playgroud)

确保您在 JSON 中引用正确的属性。

 TypeError: $("<p>").text(undefined).hide is not a function { message="$("<p>").text(undefined).hide is not a function",  more...}
Run Code Online (Sandbox Code Playgroud)

如果你想实时查询对象,你可以简单地做

window.o = response在你的回调函数中,然后在 Firebug 控制台中使用它。