如何生活 - 检查班级删除

时间:2012-08-27 13:26:38

标签: javascript jquery dom

我有一个从特定块元素中删除CSS类的函数。在添加另一个类之前,我如何进行实时检查,该块不再具有任何CSS类?

这是我的代码:

$('#back_button_recipes').on('DOMSubtreeModified',function(){
    if ($(this).attr('class').length <= 0){
        $(this).addClass('main_menu')
    }
});

3 个答案:

答案 0 :(得分:0)

对$(this).attr('class')的调用不返回数组,因此检查长度将不起作用。如果没有任何类,attr返回undefined,所以只需检查falsy:

var classes = $(this).attr('class');
if (!classes) {
  ...
}

来自jQuery online attr documentation

  

从jQuery 1.6开始,.attr()方法为尚未设置的属性返回undefined。

答案 1 :(得分:0)

我会在JavaScript中进行此检查:

$('#back_button_recipes').on('DOMSubtreeModified',function(){
    if (!this.className.length > 0){
        this.className += 'main_menu';
    }
});​

<强>的jsfiddle
http://jsfiddle.net/2pW3v/2/

答案 2 :(得分:0)

$('#back_button_recipes').on('DOMSubtreeModified',function(){
    if ($('.className').length > 0){
        $(this).addClass("main_menu");
    }
});​