繁体   English   中英

如何在jQuery中删除带有异常的类

[英]How to removeClass with exception in jQuery

我有一个小jQuery的情况。 因此,我想删除所有块类,但几乎没有例外-如果此div / block有一些类,则每个类都会被删除,但一个不指定。 我正在尝试类似的方法,但是它不起作用。

$('#rounded_items').removeClass(function(){
    $('#rounded_items').not.getElementsByClassName('small_menu');
}).addClass('main_menu');

你能帮助我吗?

尚不清楚您到底想做什么,但我最好的猜测是这样的:

$('#rounded_items:not(.small_menu)').removeClass().addClass('main_menu');

...这将替换刚才的所有类名main_menu与ID的所有项目rounded_items (!)除了那些类small_menu

请注意,ID 应该是唯一的 不能那么强调。 因此,按ID选择并期望多个元素没有意义,以便您可以进一步按类进行过滤。

ID应该是唯一的,因此您所要做的就是在删除类之前检查要定位的单个元素是否没有该类:

var isSmall = $('#rounded_items').is('.small_menu');
$('#rounded_items').attr('class', isSmall ? 'main_menu' : '');

您不能仅检查对象是否具有不应删除的此类。 如果有,请删除所有类并添加所需的类。 像这样:

if ($("#item").hasClass("neededClass")){
   $("#item").removeClass();
   $("#item").addClass("neededClass");
}

我不确定这是否是您想要的。

使用以下代码

$('#rounded_items').removeClass(function(){
     var el = $('.small_menu');
    $('#rounded_items').not(el);
}).addClass('main_menu');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM