CSS類別操作--.removeClass()

JQuery:CSS類別操作--.removeClass():

.removeClass()方法可以為匹配的元素移除原有的CSS類別。此方法只能單純的移除元素中的CSS類別。可與.addClass()合用,進行CSS類別的移除與新增。

.removeClass( [className ] )

     className:要移除的CSS類別名稱,可以是一個或多個用空白間隔開來的CSS類別名稱。

.removeClass( function(index, class) )

      function:function 是個回呼函式,JQuery會為每個匹配的元素呼叫一次該函式,並且將該函式傳回的值當成CSS類別名稱,傳回值可以是一個類別名稱或是多個由空白間隔開的類別名稱。而這些類別名稱會被從該元素中移除。另外,此function中的this會指向當時正在處理的匹配元素。

      index:回呼函式的傳入值,JQuery會將匹配索引以此參數傳入,代表第幾個匹配元素。

      currentClass:回呼函式的傳入值,代表目前元素所擁有中的CSS類別。

CSS類別操作--.removeClass()的範例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>addClass範例</title>
<style>
.red {
  background: red;
 }
</style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>  
<div class="red">紅色背景1</div>
<div class="red">紅色背景2</div>
<div class="red">紅色背景3</div>
<script type="text/javascript">
$( "div" ).removeClass(function(index,cc){
if(index==0){
  return "red";
}
if(index==1){
  return;
}
if(index==2){
  return "red";
}
}) ;
</script>
</body>
</html>

容易誤會的地方:

第二種語法用到的是回呼函式,千萬別以為他的傳回值是類別字串,所以就跟第一種語法一樣。或許會有相同的結果,可是其實有本質上的差異。要記住第一種語法的傳入參數是字串,而第二種語法的參數是一個函式。試試看能不能分辨出這三行程式的差異在哪裡?如果你覺得都一樣,或許你該多了解一下函式實字與回呼函式。好吧,其實結果都一樣,只是過程不一樣。

function red(){return "red";}
//第一種語法。
$( "div" ).removeClass("red");
//第一種語法,呼叫red()函式,然後將函式的傳回值當成removeClass的傳入參數。
$( "div" ).removeClass(red());
//第二種語法,將red函式當成輸入參數傳遞給removeClass
$( "div" ).removeClass(red);
 
 

  按個讚!~支持本站!~

FB推薦載入中