2013-07-15 54 views
20

我有一個叫做.m-active的類,它在我的HTML中被多次使用。如何在javascript/jquery中刪除類的所有實例?

基本上我想要做的是當用戶點擊一個圖像(它沒有m-active類)並將m-active類添加到該圖像時,刪除該類的所有實例。

例如在Backgrid一行如下,你可能有一個單擊處理程序:

"click": function() { 
    this.$el.addClass('m-active'); 
} 

但你也想刪除任何行該類到它以前添加,這樣在只有一行一個時間有.m活動類

有誰知道這可以在JavaScript/jQuery中完成?

+1

removeClass()!!! –

+0

是的,我已經嘗試removeClass,但我無法得到它做我想要的。 – jdc987

+0

所有元素中的[.removeClass(與單個已定義元素相比)]的可能重複](http://stackoverflow.com/questions/6899888/removeclass-from-all-elements-versus-a-single-defined-element) – Mottie

回答

42

使用jQuery:

$('.m-active').removeClass('m-active'); 

說明:

  • 調用$('.m-active')選擇從文件包含類m-active
  • 所有元素不管你這個選擇後會被應用到所有選定元素鏈
  • 鏈接ca LL與removeClass('m-active')所有選定的元素

有關此特定方法的文檔中刪除m-active類,請參閱:http://api.jquery.com/removeClass/

獲取與jQuery的全選東西的把握,首先是具有挑戰性的,但一旦你它,你看到的一切都非常不同。我鼓勵你看看一些很好的jQuery教程。我個人建議檢查出Codeacademy的jQuery的軌跡:http://www.codecademy.com/tracks/jquery

+0

這會刪除我在整個HTML文件中的所有m-active實例嗎? – jdc987

+0

是的,事實上它的確如此。看到我添加的解釋! – jsalonen

+0

太好了。這正是我所需要的,並且在搜索時找不到。謝謝你解釋它(我是一般的jquery/javascript /編程的新手,所以這對我有幫助)! – jdc987

1

Jquery-:

$("class").removeClass("your class"); 

Javascript成爲: 當你想刪除JavaScript類設置類名來什麼!

document.getElementById("your id").className = ""; 

element.classList.remove("class name"); 
4

所有的答案指向從DOM元素刪除類。但是,如果你問要刪除的元素本身就可以用戶.remove() jQuery的方法

$('.m-active').remove(); 

JQuery Remove Docs

0

專門針對代碼塊加入到加強的問題,從jsalonen質量,借款:

"click": function() { 
    $('.m-active').removeClass('m-active'); 
    this.$el.addClass('m-active'); 
} 
相關問題