我正在尝试使用类required
迭代一组项目。我想我必须错误地使用$.each
函数。
function required(address) {
//object to hold elements not passing validation tests
var pass = true;
$('.required').each(function(index, elem){
console.log(elem);
//check if it has the class indicating it is an email
if (elem.hasClass('re')) {
var validEmail = validateEmail(address.email);
if (!validEmail){
$(this).addClass('nv');
}
}
});
}
我看到控制台中的元素是
<input type="text" id="name_input" class="pr required">
然后是错误
Uncaught TypeError: Object #<HTMLInputElement> has no method 'hasClass'
该对象如何没有hasClass方法?
答案 0 :(得分:9)
您的第一个提示应该是对象是#<HTMLInputElement>
而不是jQuery对象。使用$(elem).hasClass('re');
答案 1 :(得分:2)
elem
是一个DOM Element对象,如果你想使用jQuery方法,你应该首先创建一个jQuery对象:
if ($(elem).hasClass('re')) {
答案 2 :(得分:1)
您将类.re作为jQuery选择器的一部分并保存if / then:
function required(address)
{
//object to hold elements not passing validation tests
var pass = true;
$('.required.re').each(function(index, elem) {
console.log(elem);
var validEmail = validateEmail(address.email);
if (!validEmail){
$(this).addClass('nv');
}
});
}