我有一个从特定块元素中删除 CSS 类的函数。在我添加另一个类之前,我将如何实时检查该块是否不再有任何 CSS 类?
这是我的代码:
$('#back_button_recipes').on('DOMSubtreeModified',function(){
if ($(this).attr('class').length <= 0){
$(this).addClass('main_menu')
}
});
我有一个从特定块元素中删除 CSS 类的函数。在我添加另一个类之前,我将如何实时检查该块是否不再有任何 CSS 类?
这是我的代码:
$('#back_button_recipes').on('DOMSubtreeModified',function(){
if ($(this).attr('class').length <= 0){
$(this).addClass('main_menu')
}
});
对 $(this).attr('class') 的调用不返回数组,因此检查长度将不起作用。如果没有任何类,attr 返回 undefined,所以只需检查是否有错误:
var classes = $(this).attr('class');
if (!classes) {
...
}
从 jQuery 1.6 开始,.attr() 方法为尚未设置的属性返回 undefined。
我会在 JavaScript 中做这个检查:
$('#back_button_recipes').on('DOMSubtreeModified',function(){
if (!this.className.length > 0){
this.className += 'main_menu';
}
});
JSFiddle
http://jsfiddle.net/2pW3v/2/
$('#back_button_recipes').on('DOMSubtreeModified',function(){
if ($('.className').length > 0){
$(this).addClass("main_menu");
}
});