你可以使用jQuery的三元运算符吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你可以使用jQuery的三元运算符吗?相关的知识,希望对你有一定的参考价值。

我使用了一些jQuery来触发if函数。当我尝试使用vanilla javascript的三元操作数来简化等式时,它似乎不起作用。

我究竟做错了什么?

if(windowBottom > objectBottom) {

    $(this).animate({opacity: '1'}, 1500);
    $(this).addClass('item-play__right');
}
//works fine

windowBottom > objectBottom ? $(this).animate({opacity: '1'}, 1500).addClass('item-play__right');
//doesn't work
答案

是的,它可以完成,但它需要使用?:

windowBottom > objectBottom ? ($(this).animate({opacity:"1"}, 
1500).addClass("item-play__right")) :'';

没有三元运算符,代码片段也可以写成

windowBottom > objectBottom && ($(this).animate({opacity:"1"}, 
1500).addClass("item-play__right"));
另一答案

这不是您正在使用的有效三元语法,应该有两个可能的结果由:字符分隔。

此外,如果您将其用于副作用而不是计算值,则最好使用if / else

另一答案

你需要?:,否则会导致语法错误。

windowBottom > objectBottom ? $(this).animate({opacity: '1'}, 1500).addClass('item-play__right') : "";

以上是关于你可以使用jQuery的三元运算符吗?的主要内容,如果未能解决你的问题,请参考以下文章

10个JavaScript代码片段,使你更加容易前端开发。

20个简洁的 JS 代码片段

20个简洁的 JS 代码片段

你试过不用if写代码吗?

jQuery 语句中的三元运算符

如何在ajax调用中在jquery中使用三元运算符?