首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript使变量成为元素

javascript使变量成为元素
EN

Stack Overflow用户
提问于 2011-02-12 14:13:12
回答 2查看 840关注 0票数 0

我想传递我正在处理的元素的名称,然后更改它的类。我从另一个函数调用这些函数。

代码语言:javascript
复制
   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");
    }

我通过以下方式调用这些函数

代码语言:javascript
复制
if(data == "yes")
          {
            addErrClass('name');
            nameInfo.text("Please choose another usename, " + checkuser + " is in use");                
          } else {
             addValClass('name');
             nameInfo.text("Awesome, " + checkuser + " is available");  
          }

每个元素都有一个变量名:

代码语言:javascript
复制
var name = $("#nuser");     var nameInfo
   = $("#nuserInfo");   var email = $("#email");    var emailInfo =
   $("#emailInfo");

收到错误:

未捕获TypeError:对象名没有方法“”removeClass“”

从本质上讲,我试图用每个函数实现以下目标

name.addClass或email.removeClass

我将在很多领域使用它,但我认为我会尽量减少我的问题的代码。

用答案编辑。谢谢

代码语言:javascript
复制
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");  
 }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-12 14:25:20

您正在将字符串'name‘传递给函数。由于字符串类型没有名为“removeClass”的方法,因此您将收到此错误。此方法仅存在于jQuery对象上。

既然您说过已经实例化了一个名为name的变量,该变量是一个jQuery对象,那么请尝试如下所示:

代码语言:javascript
复制
if(data === "yes")
{
    addErrClass(name);
    nameInfo.text("Please choose another usename, " + checkuser + " is in use");                
 } else {
     addValClass(name);
     nameInfo.text("Awesome, " + checkuser + " is available");  
 }
票数 1
EN

Stack Overflow用户

发布于 2011-02-12 14:20:53

您似乎将字符串' name‘传递给了您的函数,而不是包含jquery对象的变量名称。string对象上没有removeClass方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4976656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档