2010-01-31 101 views
3

如何删除CSS默认类如何添加和删除CSS类

这是我的div

<div id="messageContainer"> 

这是我的CSS类

#messageContainer{ 
    height:26px; 
    color:#FFFFFF;  
    BACKGROUND-COLOR: #6af; 
    VERTICAL-ALIGN: middle; 
    TEXT-ALIGN: center; 
    PADDING-TOP:6px; 
} 

我想删除默认的类和新css类

请帮忙;

+0

+ 1 ..小包它对我来说是新的..简单的 – jjj 2010-01-31 07:23:18

回答

3

可以接近它两个方面。一,使用两个类和字面上掉出来了对方:

.red { background: red } 
.green { background: green } 

然后在jQuery的:

$("#messageContainer").attr('class','green'); // switch to green 
$("#messageContainer").attr('class','red'); // switch to red 

或者您可以使用CSS以切换一个类:

#messageContainer { background: red } 
#messageContainer.green { background: green } 

Then:

$("#messageContainer").toggleClass("green"); 

每当它被调用时,它都会改变背景。

0

尝试在css类定义之前添加一段时间。

使用你上面的例子,你应该使用:

.messageContainer{ 
height:26px;  
color:#FFFFFF; 
BACKGROUND-COLOR: #6af; 
VERTICAL-ALIGN: middle; 
TEXT-ALIGN: center; 
PADDING-TOP:6px;  
} 
+0

它没有解决问题.. !! – jjj 2010-01-31 07:25:08

+1

给它一个镜头... – 2010-01-31 16:45:00

4

你面对的不是一类。您具有应用于ID元素的默认规则。因此,你应该只需要添加新的类:

$("#messageContainer").addClass("newRules"); 

未覆盖可以与css()方法被覆盖的任何规则:

$("#messageContainer").css({ 
    'font-weight':'bold', 
    'color':'#990000' 
}).addClass("newRules"); 
+1

应该是'addClass(“newRules”);' - 没有点。 – Kobi 2010-01-31 07:22:19

+0

谢谢@Kobi。我似乎总是最初使用选择器语法时写一个类名:( – Sampson 2010-01-31 07:23:06

2

你没有在你的例子中定义一个css类,你正在使用id的选择器。

使用一个类你的代码将是这样的:

<div id="messageContainer" class="messageContainer"></div> 

,并在样式表或风格的标记之间你会

.messageContainer{ 
    height:26px; 
    color:#FFFFFF;  
    BACKGROUND-COLOR: #6af; 
    VERTICAL-ALIGN: middle; 
    TEXT-ALIGN: center; 
    PADDING-TOP:6px; 
} 

然后,使用jQuery你可以做删除该类

$('#messageContainer').removeClass('messageContainer'); 
0

对于IE10和最多使用这些方法:

// adds class "foo" to el 
el.classList.add("foo"); 

// removes class "foo" from el 
el.classList.remove("foo"); 

// toggles the class "foo" 
el.classList.toggle("foo");