Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 三值或三级等效物_Jquery_Ternary Operator - Fatal编程技术网

Jquery 三值或三级等效物

Jquery 三值或三级等效物,jquery,ternary-operator,Jquery,Ternary Operator,我们有addClass、removeClass和toggleClass jQuery相当于什么 document.getElementById("field").className=(someBoolean)?"pass":"fail"; 但是使用保留现有类的方法之一 在我看来,最接近我的是不那么优雅的 $("#field") .toggleClass("pass",someBoolean) .toggleClass("fail",!someBoolean); 或者使用vars $(

我们有addClass、removeClass和toggleClass

jQuery相当于什么

document.getElementById("field").className=(someBoolean)?"pass":"fail";
但是使用保留现有类的方法之一

在我看来,最接近我的是不那么优雅的

$("#field")
  .toggleClass("pass",someBoolean)
  .toggleClass("fail",!someBoolean);
或者使用vars

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

$(函数(){
var pass=真;
$(“#字段”)
.toggleClass(“通过”,通过)
.toggleClass(“失败”,“通过”);
var classes=[…$(“#字段”).get(0).classList];
console.log(类)
});

就这么做吧

$('#field').attr('class', someBoolean ? 'pass' : 'fail');
.attr('class','newClass')
相当于
element.className='newClass'

这是什么

$("#field").removeClass('pass fail').addClass(someBoolean ? 'pass' : 'fail');
您可以尝试以下方法:


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

我知道我可以做到这一点,但这取代了类。正如我提到的,我希望能够在class属性中包含其他类,这就是addClass、removeClass和toggleClass reservesCloser:)让我们看看是否有其他人有建议,你的是最好的far@mplungjan提问者的任务是创建一个MCVE,以便人们能够更容易地回答问题question@WhatsThePointDoneIt并不像我猜想的那样有效
$(“#字段”)[pass?'addClass':'removeClass']('pass')
不会同时切换这两个类。为什么双
切换类
不那么优雅?这比你得到的任何答案都更具可读性…这是一个5年前的问题。我可能只是好奇:)