如果在 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 函数我尝试过但不工作的主要内容,如果未能解决你的问题,请参考以下文章