Javascript jquery$。每个都给我一个没有hasClass方法的对象
我试图用类Javascript jquery$。每个都给我一个没有hasClass方法的对象,javascript,jquery,Javascript,Jquery,我试图用类required迭代一组项。我想我一定是使用了$。每个功能都不正确 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 th
required
迭代一组项。我想我一定是使用了$。每个功能都不正确
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');
}
}
});
}
我看到控制台中的元素是
代码>
然后是错误
UncaughtTypeError:对象没有方法“hasClass”
该对象怎么可能没有hasClass方法呢?elem
在您的代码中是一个DOM元素对象,如果要使用jQuery方法,您应该首先创建一个jQuery对象:
if ($(elem).hasClass('re')) {
您的第一个提示应该是对象是#
,而不是jQuery对象。使用$(elem).hasClass('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');
}
});
}
它不应该是$(elem).hasClass(“..”)?啊哈,是的。我现在明白了,这是一个非常明显的暗示。为什么jquery不返回jquery对象?多谢!因为您正在迭代DOM元素,所以它将返回一个DOM元素。您需要从该DOM元素创建jQuery对象:)