ES6は、DOM要素のクラス名を追加および削除およびテストするための便利なAPIを提供します:classList.add(name)およびclassList.remove(name)およびclassList.contains(name)。
ES6のコンテキストでは、質問はおそらく次のように言い換えることができます。
「.classList.add()を使用して同じclassNameを複数回追加し、そのクラスをclassList.remove()で削除したい場合、classList.remove()を複数回呼び出す必要がありますか?
幸いなことに、答えは.classList.remove()を1回呼び出すだけで、何度追加しても特定のクラスを削除できるようです。
私はグーグルによってこれに対する簡単な答えを見つけることができなかったので、私はそれがどのように振る舞うかを私に伝えるために次のテストを書きました。引数としてDOM要素を使用して以下の関数を呼び出しても、エラーはスローされません。
function testClassListRemove (dem)
{
dem.classList.add ("hello");
dem.classList.add ("hello");
dem.classList.add ("hello");
ok (dem.classList.contains ("hello") );
dem.classList.remove ("hello");
ok (! dem.classList.contains ("hello") );
function ok (b)
{ if (! b)
{ throw new Error ('not ok ');
}
}
}