0

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

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

2 回答 2

7

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

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

但是,为了完全按照您的要求回答您的问题(不要使用它!):

$j('#next')[((pos - maxPos) == c.clientWidth) ? 'addClass' : 'removeClass']('filter');
于 2012-06-21T05:39:41.670 回答
1

甚至比三元更好,使用switch参数toggleClass()

$j("#next").toggleClass("filter", pos - maxPos === c.clientWidth);
于 2012-06-21T05:39:49.493 回答