我有一个从特定块元素中删除CSS类的函数。在添加另一个类之前,我如何进行实时检查,该块不再具有任何CSS类?
这是我的代码:
$('#back_button_recipes').on('DOMSubtreeModified',function(){
if ($(this).attr('class').length <= 0){
$(this).addClass('main_menu')
}
});
答案 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");
}
});