.removeClass()
.removeClass( [className ] )
描述:从匹配的元素集合的每个元素上删除一个样式类、多个样式类或者所有样式类。
- className类型:String一个或多个用空格隔开的样式类,要从每个匹配元素上删除这些样式类。
如果该方法包含了一个样式类名作为参数,则只会从匹配的元素集合上删除这个样式类。如果参数中没有指定任何样式类名,则会删除所有的类。
.removeClass()方法操纵选中的元素的className属性,而不是操纵元素属性class。一旦改变了这个属性,浏览器会根据它更新元素属性。这意味着在元素属性class被更新,而且最后一个样式类名被删除的时候,浏览器可能把该元素属性的值设置成一个空字符串,而不是完全地删除该元素属性。这种行为的一个潜意思是该方法只对带有HTML DOM语义的document起作用(也就是说,不是纯XML document)。
可以从匹配的元素集合上同时删除不止一个样式类,只要用空格隔开,如下所示:
$( "p" ).removeClass( "myClass yourClass" )
该方法通常与.addClass()配合使用,把元素的样式类从一个切换到另一个,如下所示:
$( "p" ).removeClass( "myClass noClass" ).addClass( "yourClass" );
现在,从所有的段落文本上删除了myClass类和noClass类,与此同时添加了yourClass类。
要想把已有的样式类替换成另一个样式类,我们可以使用.attr( "class", "newClass" )来代替它。
自从jQuery 1.4,.removeClass()方法允许我们通过传递给一个函数,来表示要删除样式类。
$( "li:last" ).removeClass(function() {
return $( this ).prev().attr( "class" );
});
该示例从最后一个<li>上删除了倒数第二个<li>的样式类:
示例
从匹配的元素上删除样式类“blue”。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>removeClass demo</title>
<style>
p {
margin: 4px;
font-size: 16px;
font-weight: bolder;
}
.blue {
color: blue;
}
.under {
text-decoration: underline;
}
.highlight {
background: yellow;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p class="blue under">Hello</p>
<p class="blue under highlight">and</p>
<p class="blue under">then</p>
<p class="blue under">Goodbye</p>
<script>
$( "p:even" ).removeClass( "blue" );
</script>
</body>
</html>
演示结果
从匹配的元素上删除样式类“blue”和“under”。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>removeClass demo</title>
<style>
p {
margin: 4px;
font-size: 16px;
font-weight: bolder;
}
.blue {
color: blue;
}
.under {
text-decoration: underline;
}
.highlight {
background: yellow;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p class="blue under">Hello</p>
<p class="blue under highlight">and</p>
<p class="blue under">then</p>
<p class="blue under">Goodbye</p>
<script>
$( "p:odd" ).removeClass( "blue under" );
</script>
</body>
</html>
演示结果
从匹配的元素上删除所有的样式类。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>removeClass demo</title>
<style>
p {
margin: 4px;
font-size: 16px;
font-weight: bolder;
}
.blue {
color: blue;
}
.under {
text-decoration: underline;
}
.highlight {
background: yellow;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p class="blue under">Hello</p>
<p class="blue under highlight">and</p>
<p class="blue under">then</p>
<p class="blue under">Goodbye</p>
<script>
$( "p:eq(1)" ).removeClass();
</script>
</body>
</html>
演示结果