首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery .removeClass()不工作

jQuery .removeClass()不工作
EN

Stack Overflow用户
提问于 2014-02-25 05:08:13
回答 5查看 82.8K关注 0票数 33

我需要从文本字段中删除一个CSS类,因为我想更改它的背景色。我需要稍后更改颜色,因此我必须根据某些数据向字段中添加和删除类。

.addClass工作得很好。问题是,原始类位于添加的类之上,因此更改不会显示,但类已正确添加。我现在尝试删除添加元素上面的类--但我不能从元素中删除任何类。为什么会这样呢?我做错了什么?代码如下:

if(i.stadt=="T") {
    $("#stadtInput").removeClass("ui-input-text input");
    $("#stadtInput").removeClass("ui-input-search input");
    $("#stadtInput").addClass( 'textboxRight' );
} else {
    $("#stadtInput").addClass( 'textboxWrong' );
}

如果我使用浏览器的Webdev-Tools检查元素,我可以看到添加了textboxRight/textboxWrong类,但没有删除任何类。我已经尝试删除.removeClass()的所有类,但也不起作用。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-02-25 05:29:23

我不确定这是否符合您的规范,但是jQuery attr()方法将接受两个参数,并将所有类替换为您提供的类名。如果您希望在元素上保留其他类,这将不起作用,但如果没有,请尝试:

    $("#stadtInput").attr("class", "textboxRight");
票数 30
EN

Stack Overflow用户

发布于 2015-10-26 16:48:41

接下来的几行代码适用于我。

var current = $(el).closest(".panel").find(".panel-collapse");
    if( $(current).hasClass("in") ) {
        setTimeout(function(){///workaround
            $(".panel-collapse").removeClass("in");
        }, 10);
    } else {
        $(current).addClass("in");
    }
票数 7
EN

Stack Overflow用户

发布于 2018-07-13 03:04:52

早些时候就有过这个问题。我还不是jquery方面的专家,所以我不知道它的行为是否像css的特性。我的解决办法是通过使用更高的特异性来删除这个类。例如,尝试使用更高的特异性,比如$('#div1').children().first(),而不是使用$(this).removeClass('acb')

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

https://stackoverflow.com/questions/21999016

复制
相关文章

相似问题

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