0

addClass、removeClass、toggleClassがあります

jQueryと同等のものは何ですか

document.getElementById("field").className=(someBoolean)?"pass":"fail";

しかし、既存のクラスをそのままにしておくメソッドの1つを使用しますか?

私が来た最も近いのは、私の意見ではそれほどエレガントではありません

$("#field")
  .toggleClass("pass",someBoolean)
  .toggleClass("fail",!someBoolean);

または変数を使用する

$("#field")
  .toggleClass(classWhenTrue,someBoolean)
  .toggleClass(classWhenFalse,!someBoolean);

例:

$(function() {
  var pass = true;

    $("#field")
    .toggleClass("pass", pass)
    .toggleClass("fail", !pass);
    var classes = [...$("#field").get(0).classList];
    console.log(classes)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<input id="field" type="text" class="test fail done" />

4

3 に答える 3

1

これ?

$("#field").removeClass('pass fail').addClass(someBoolean ? 'pass' : 'fail');
于 2013-03-10T08:08:44.687 に答える
0

これを行うだけです。

$('#field').attr('class', someBoolean ? 'pass' : 'fail');

.attr('class', 'newClass')と同等ですelement.className = 'newClass';

于 2013-03-10T06:04:58.990 に答える
-1

あなたはこれを試すことができます:

$('.submit-button')[ someBoolean ? 'addClass' : 'removeClass' ]('active')

于 2018-01-30T08:48:22.557 に答える