我执行ajax调用并返回正确的打印数据。这是成功处理程序:
success : function(response) {
if (response.status == 'FAIL') {
for ( var val in response.errorsMessages) {
var $errorLabel = $.find('#' + val.toString() + 'ErrorLabel');
console.log("$errorLabel=" + $errorLabel);
$errorLabel.text(response.errorsMessages[val]);
}
}
},
非常奇怪的是找到$errorLabel
并且在控制台上我看到了:
$errorLabel=[object HTMLLabelElement]
下一行给出了关于此主题标题的异常。
为什么jQuery方法find
运行良好但是jQuery对象上的方法text
无法识别?
如果$errorLabel
不是jQuery对象那么如何制作呢?
谢谢!
答案 0 :(得分:2)
只需将其更改为
即可var $errorLabel = $('#' + val.toString() + 'ErrorLabel');
答案 1 :(得分:2)
我相信你的错误是
$.find('#' + val.toString() + 'ErrorLabel');
你正在向jQuery的内置find
函数传递一些东西,它返回一个意外的结果,所以$ errorLabel将是一个JavaScript对象,但不是一个jQuery对象,因此它没有{ {1}}方法。
该行应该只是对jQuery构造函数的调用
.text()