我需要从文本字段中删除一个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()
的所有类,但也不起作用。
发布于 2014-02-25 05:29:23
我不确定这是否符合您的规范,但是jQuery attr()方法将接受两个参数,并将所有类替换为您提供的类名。如果您希望在元素上保留其他类,这将不起作用,但如果没有,请尝试:
$("#stadtInput").attr("class", "textboxRight");
发布于 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");
}
发布于 2018-07-13 03:04:52
早些时候就有过这个问题。我还不是jquery方面的专家,所以我不知道它的行为是否像css的特性。我的解决办法是通过使用更高的特异性来删除这个类。例如,尝试使用更高的特异性,比如$('#div1').children().first()
,而不是使用$(this).removeClass('acb')
https://stackoverflow.com/questions/21999016
复制相似问题