使用三元运算符缩短代码

时间:2012-06-21 05:37:20

标签: javascript ternary-operator

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

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

2 个答案:

答案 0 :(得分:7)

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

$j('#next').toggleClass('filter', ((pos - maxPos) == c.clientWidth))

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

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

答案 1 :(得分:1)

使用switch

中的toggleClass()参数,甚至比三元更好
$j("#next").toggleClass("filter", pos - maxPos === c.clientWidth);