javascript - 使用三元运算符缩短代码

标签 javascript ternary-operator

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

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

最佳答案

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

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

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

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

关于javascript - 使用三元运算符缩短代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11132105/

相关文章:

javascript - 可以将 CSS 背景图像列为 HTML 图像标记的脚本?

PHP 5.3.3 难题,它打印什么以及为什么

javascript - DRY 属性选择

javascript - 以 Angular 2 复制对象数组

java - NullPointerException 从哪里来?

javascript - 一个有点痛苦的三重嵌套三元运算符

java三元hack

php - Javascript 是否像 PHP 一样支持短三元(而不是变体)?

javascript - 父div的内容仅由子div滚动js推送到firefox

javascript - 在Javascript中将foreignObject附加到SVG