0

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

这是我的代码:

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

3 回答 3

0

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

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

来自jQuery 在线 attr 文档

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

于 2012-08-27T13:38:37.937 回答
0

我会在 JavaScript 中做这个检查:

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

JSFiddle
http://jsfiddle.net/2pW3v/2/

于 2012-08-27T13:43:59.987 回答
0
$('#back_button_recipes').on('DOMSubtreeModified',function(){
    if ($('.className').length > 0){
        $(this).addClass("main_menu");
    }
});​
于 2012-08-27T13:56:32.077 回答