我有一个内联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,则删除该类.本质上,声明:
Run Code Online (Sandbox Code Playgroud)$( "#foo" ).toggleClass( className, addOrRemove );相当于:
Run Code Online (Sandbox Code Playgroud)if ( addOrRemove ) { $( "#foo" ).addClass( className ); } else { $( "#foo" ).removeClass( className ); }