使用jQuery内联if if语句到toggleClass?

Eva*_*nss 0 jquery

我有一个内联if/else语句,它添加和删除一个类:

$myvar.length ? $element.addClass('my-class') : $element.removeClass('my-class');
Run Code Online (Sandbox Code Playgroud)

使用toggleClass而不是addClass和removeClass可以将其重写为更短吗?

j08*_*691 11

是:

$element.toggleClass('my-class', $myvar.length > 0)
Run Code Online (Sandbox Code Playgroud)

.toggleClass() 接受第二个布尔参数,它将添加/删除给定的类.

根据文档:

.toggleClass()的第二个版本使用第二个参数来确定是应该添加还是删除该类.如果此参数的值为true,则添加该类; 如果为false,则删除该类.本质上,声明:

$( "#foo" ).toggleClass( className, addOrRemove );
Run Code Online (Sandbox Code Playgroud)

相当于:

if ( addOrRemove ) {
  $( "#foo" ).addClass( className );
} else {
  $( "#foo" ).removeClass( className );
}
Run Code Online (Sandbox Code Playgroud)


Nol*_*dor 5

$element.toggleClass('my-class', ($myvar.length > 0))
Run Code Online (Sandbox Code Playgroud)