使用三元运算符缩短代码

web*_*evy 0 javascript ternary-operator

如何使用三元运算符缩短以下内容?

if ((pos - maxPos) == (c.clientWidth)) {
    $j("#next").addClass("filter");
} else {
    $j("#next").removeClass("filter");
}
Run Code Online (Sandbox Code Playgroud)

Thi*_*ter 7

不需要使用三元运算符,.toggleClass()接受第二个参数来确定是否应该添加或删除类:

$j('#next').toggleClass('filter', ((pos - maxPos) == c.clientWidth))
Run Code Online (Sandbox Code Playgroud)

但是,为了回答你的问题,就像你问的那样(不要使用它!):

$j('#next')[((pos - maxPos) == c.clientWidth) ? 'addClass' : 'removeClass']('filter');
Run Code Online (Sandbox Code Playgroud)