.removeClass()| jqueryAPI 2.2 中文手册- AspRain.cn 致力于Web开发技术翻译整理

jQuery API 2.2.0

.removeClass()

分类:元素属性 | 操纵 > 类属性 | CSS

返回: jQuery

.removeClass( [className ] )

描述:从匹配的元素集合的每个元素上删除一个样式类、多个样式类或者所有样式类。

加入于: 1.0
.removeClass( [className ] )
  • className
    类型:String
    一个或多个用空格隔开的样式类,要从每个匹配元素上删除这些样式类。
加入于: 1.4
.removeClass( function )
  • function
    类型:FunctionInteger index, String 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>

演示结果

如果网页上不能运行示例,请点击http://www.asprain.cn/jQueryAPI/removeclass.htm查看示例。

如果你觉得本文档对你有用,欢迎给翻译作者支付宝打赏,支持翻译作者源源不断翻译更多有用的技术文档。