如何做一些类存在与否?

时间:2014-11-18 14:28:32

标签: javascript jquery html twitter-bootstrap

我有一个相当奇怪的问题。如果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。现在工具提示切换应该是。当我从disabled中删除button.button-add-new类时,问题就出现了 - 工具提示仍然有效,但它不应该被删除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

2 个答案:

答案 0 :(得分:0)

尝试使用Jquery .hasClass()

if ($(this).hasClass("yourclass")) {

    //Do something

}

答案 1 :(得分:0)

也许你可以像这样检查

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