web-dev-qa-db-ja.com

javascript / jqueryのクラスのすべてのインスタンスを削除する方法

私のHTML全体で複数回使用される.m-activeと呼ばれるこのクラスがあります。

基本的に私がやりたいのは、ユーザーが画像(m-activeクラスを持たない)をクリックしたときにそのクラスのすべてのインスタンスを削除し、その画像にm-activeクラスを追加することです。

たとえば、Backgrid行には、次のようなクリックハンドラーがある場合があります。

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

ただし、以前に追加された行からそのクラスを削除して、一度に1行だけが.m-activeクラスを持つようにすることもできます。

これがjavascript/jqueryでどのように実行できるかを誰かが知っていますか?

27
jdc987

JQueryの場合:

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

説明:

  • $('.m-active')を呼び出すと、ドキュメントからクラス_m-active_を含むすべての要素が選択されます
  • このセレクターの後にチェーンしたものはすべて選択したすべての要素に適用されます
  • removeClass('m-active')を使用して呼び出しをチェーンすると、選択したすべての要素からクラス_m-active_が削除されます

この特定のメソッドのドキュメントについては、次を参照してください: http://api.jquery.com/removeClass/

JQueryを使用してセレクター全体を把握することは、最初は困難ですが、一度理解すると、すべてが非常に異なって見えるようになります。いくつかの優れたjQueryチュートリアルをご覧になることをお勧めします。個人的には、CodeacademyのjQueryトラックをチェックすることをお勧めします: http://www.codecademy.com/tracks/jquery

53
jsalonen

すべての回答は、DOM要素からクラスを削除することを指します。しかし、要素自体を削除することを要求している場合は、.remove() jqueryメソッドを使用できます

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

JQueryドキュメントの削除

8
Alireza

jquery-:

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

javascript-: javascriptでクラスを削除する場合は、クラス名を何も設定しないでください!!!

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

または

element.classList.remove("class name");
1
HIRA THAKUR

質問の質を強化するために追加されたコードブロックを具体的に取り上げ、jsalonenから借用します。

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