如何做某事类是否存在

How to do something class exists or not?

本文关键字:是否 存在 何做某      更新时间:2023-09-26

我有一个相当奇怪的问题。我需要根据类是否存在来做一些事情CSS。我的代码如下所示:

jQuery('#first-tab').on('mouseover mouseout', 'button.button-add-new', function(e) {
    console.log(this.className);
    console.log(this.className.indexOf('disabled'));
    console.log(this.className.indexOf('disabled') > -1);
    if (this.className.indexOf('disabled') > -1) {
        console.log('tooltip');
        if (e.type == 'mouseover')
            jQuery(this).tooltip('show');
        else
            jQuery(this).tooltip('hide');
    }
});

默认情况下,当DOM加载时,没有disable类,因此当我将鼠标放在按钮上时,不会出现应有的工具提示。我按下其他按钮,将disabled类添加到button.button-add-new。现在工具提示切换为应有的状态。当我从button.button-add-new中删除disabled类时,问题就开始了 - 工具提示仍然有效,尽管它不应该在删除类时disabled工作。这是来自控制台的结果

btn btn-default btn-sm sites-templates-button-add-new-site
-1
false
--------------
btn btn-default btn-sm sites-templates-button-add-new-site
-1
false
--------------
// class disabled added
--------------
btn btn-default btn-sm sites-templates-button-add-new-site disabled
59
true
tooltip
--------------
btn btn-default btn-sm sites-templates-button-add-new-site disabled
59
true
tooltip
--------------
// class disabled removed, but tooltip stil works
--------------
btn btn-default btn-sm sites-templates-button-add-new-site
-1
false
--------------
btn btn-default btn-sm sites-templates-button-add-new-site
-1
false
--------------
btn btn-default btn-sm sites-templates-button-add-new-site
-1
false
--------------
btn btn-default btn-sm sites-templates-button-add-new-site
-1
false

尝试使用 Jquery .hasClass()

if ($(this).hasClass("yourclass")) {
    //Do something
}

也许你可以这样检查

if ($('.yourclass').length){
     //Do something
}