我们有addClass,removeClass,toggleClass三元或更简洁setClass相当于
什么是jQuery的相当于
document.getElementById("field").className=(someBoolean)?"pass":"fail";
,但使用的是离开现有的类来代替的方法之一?
我来最接近的是在我看来不那么优雅
$("#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" />
为什么是双'toggleClass'不那么优雅?它比任何你得到的答案都更可读... – Cerbrus 2018-01-30 09:38:39
这是一个5岁的问题。我可能只是好奇:) – mplungjan 2018-01-30 09:50:22