Firebug抱怨这条线:
$("#original-description").text(response['course']['original_description']).hide();
我是否有语法错误?看起来很好。
更多背景信息:
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']);
}
});
response
是一个JSON对象。这个问题可能是由无效的下标引起的吗?
Firebug的错误是:
$("#original-description").text(response.course.original_description).hide is not a function
答案 0 :(得分:4)
其他答案指出错误 - .text()
返回jQuery对象。您可能正在引用未定义的属性。我可以复制一下:
$('<p>').text(undefined).hide()
确保您在JSON中引用了正确的属性。
TypeError: $("<p>").text(undefined).hide is not a function { message="$("<p>").text(undefined).hide is not a function", more...}
如果您想要实时查询对象,您只需执行
即可 回调函数中的 window.o = response
,只需在Firebug控制台中使用它。