带有return语句的三元运算符JavaScript

如果select下拉列表中的选项,我需要返回true或false。

这是我的代码:

var active = sort.attr('selected') ? return true : return false; 

我得到一个错误,第一个return是意外的。

为什么?

您不能将一个返回语句分配给一个variables。 如果你想active分配值truefalse ,只需删除return s:

 var active = sort.attr('selected') ? true : false; 

或者也许更好:

 var active = sort.prop('selected'); 

因为.prop始终返回truefalse ,而不pipe初始tag属性如何。

你可以像这样在javascript中返回一个三元运算符:

 return sort.attr('selected') ? true : false; 

为什么不是这个?

  return sort.attr('selected'); 

只是对你的代码发表评论:

 > sort.attr('selected') 

似乎是使用jQuery attr方法,它用来尝试和第二次猜测你想要什么,并返回属性或属性。 我认为在最近的版本,它总是返回属性。

无论如何, 所选属性的存在只意味着该项目(一个选项元素?)是默认select的选项,并不意味着它是当前select的选项。 为此,您需要选定的属性 (jQuery prop方法)。 由于所选属性是一个布尔值:

 > sort.attr('selected') ? true : return false; 

可以简单地说:

  sort.prop('selected'); 

或没有jQuery:

  optionElement.selected;