如果在 div 中找到两个类,我想删除类,使用 jQuery 函数我尝试过但不工作

Posted

技术标签:

【中文标题】如果在 div 中找到两个类,我想删除类,使用 jQuery 函数我尝试过但不工作【英文标题】:I want to remove class if two classes found in a div, with jQuery function I have tried but not working 【发布时间】:2015-06-07 08:14:23 【问题描述】:
$(document).ready(function()

$(".block").addClass("dock_on_load");

);

$(document).ready(function()
    var someElem = $("#block-region-side-post");
    if (someElem.is('.block, .hidden')) 
       $('.dock_on_load').removeClass('dock_on_load');
    
);

如果找到两个类 .block、.hidden 我想删除类 dock_on_load,如果只找到块类添加 dock_on_load 但它不起作用

【问题讨论】:

您想从 $someElem 中删除 .dock_on_load 或需要使用 .dock_on_load 删除其他元素?? 不要使用'.'在 hasClass() 中,只需使用 hasClass('someClass') 【参考方案1】:

使用.removeClass(); 代替.remove();

【讨论】:

【参考方案2】:

使用下面的代码。不需要在课前使用'.'在hasClass()。

if ($someElem.hasClass('block') && $someElem.hasClass('hidden')) 

       $('.dock_on_load').remove();  //if you want to remove element 

   // if you wan to remove class from $someElem use below code

      $someElem.removeClass('dock_on_load'); 

 

【讨论】:

【参考方案3】:

作为 Nishit 答案的替代方法,您可以执行以下操作:

$(document).ready(function()
    var someElem = $("#block-region-side-post");
    if (someElem.is('.block, .hidden')) 
       $('.dock_on_load').removeClass('dock_on_load');
    
);

正如here 所讨论的,这种方法可能比使用hasClass 慢。

【讨论】:

注意:为了清楚起见,如果性能完全受关注,请使用.hasClass

以上是关于如果在 div 中找到两个类,我想删除类,使用 jQuery 函数我尝试过但不工作的主要内容,如果未能解决你的问题,请参考以下文章

克隆 div 并删除类而不更改原始类

如何找到具有匹配数据属性的 div 然后删除类

在使用类找到的变量 ID 中定位 div

使用 BeautifulSoup 删除具有特定类的 div

如何在 woo commerce 的结帐表单字段中删除额外的 div html 类

从 Div 中删除所有类