Javascript oneliners: functions are attributes too
Just a small reminder. Javascript allows you to call methods based on their name. So if a DOM element has a addClass and removeClass which both take the same argument we could write:
var someClass = 'some-class';
var hasClass = element.hasClass(someClass);
if(hasClass){
element.addClass(someClass);
} else {
element.removeClass(someClass);
}
but we could also write
var someClass = 'some-class';
var hasClass = element.hasClass(someClass);
element[hasClass ? 'addClass' : 'removeClass'](someClass);
Sometimes this means you can use this technique to write powerful one liners.