jQuery plugin's Validation's方法Valid()
在空集合上调用时会抛出错误this[0] is undefined
。我认为jQuery约定不会对空集合做任何事情,当然不会抛出任何错误,或者可能是我错过了某些东西。请问有人能说明一下吗?从插件jQuery验证插件的方法在调用空集合时抛出错误
代码片段。这个[0] - 如下所示 - 在集合为空时抛出错误。
// http://docs.jquery.com/Plugins/Validation/valid
valid: function() {
if ($(this[0]).is('form')) {
return this.validate().form();
} else {
var valid = true;
var validator = $(this[0].form).validate(); // This is the line that throws error
this.each(function() {
valid &= validator.element(this);
});
return valid;
}
所以不这样做? – mcgrailm 2011-05-05 20:22:32
我们应该在调用方法之前检查集合吗?我认为我们不需要。我更新了代码以包含addClass的调用,即使在空集合上调用时也不会引发任何错误。这是预期的行为? – 2011-05-05 20:36:10