我想传递我正在处理的元素的名称,然后更改它的类。我从另一个函数调用这些函数。
function addErrClass(field){
field.removeClass("valid");
field + Info.removeClass("valid");
field.addClass("error")
field + Info.addClass("error");
}
function addValClass(field){
field.removeClass("error");
field + Info.removeClass("error");
field.addClass("valid")
field + Info.addClass("valid");
}我通过以下方式调用这些函数
if(data == "yes")
{
addErrClass('name');
nameInfo.text("Please choose another usename, " + checkuser + " is in use");
} else {
addValClass('name');
nameInfo.text("Awesome, " + checkuser + " is available");
}每个元素都有一个变量名:
var name = $("#nuser"); var nameInfo
= $("#nuserInfo"); var email = $("#email"); var emailInfo =
$("#emailInfo");收到错误:
未捕获TypeError:对象名没有方法“”removeClass“”
从本质上讲,我试图用每个函数实现以下目标
name.addClass或email.removeClass
我将在很多领域使用它,但我认为我会尽量减少我的问题的代码。
用答案编辑。谢谢
if(data === "yes")
{
addErrClass(name);
addErrClass(nameInfo);
nameInfo.text("Please choose another usename, " + checkuser + " is in use");
} else {
addValClass(name);
addValClass(nameInfo);
nameInfo.text("Awesome, " + checkuser + " is available");
}发布于 2011-02-12 14:25:20
您正在将字符串'name‘传递给函数。由于字符串类型没有名为“removeClass”的方法,因此您将收到此错误。此方法仅存在于jQuery对象上。
既然您说过已经实例化了一个名为name的变量,该变量是一个jQuery对象,那么请尝试如下所示:
if(data === "yes")
{
addErrClass(name);
nameInfo.text("Please choose another usename, " + checkuser + " is in use");
} else {
addValClass(name);
nameInfo.text("Awesome, " + checkuser + " is available");
}发布于 2011-02-12 14:20:53
您似乎将字符串' name‘传递给了您的函数,而不是包含jquery对象的变量名称。string对象上没有removeClass方法。
https://stackoverflow.com/questions/4976656
复制相似问题