带有return语句的三元运算符JavaScript
如果select下拉列表中的选项,我需要返回true或false。
这是我的代码:
var active = sort.attr('selected') ? return true : return false;
我得到一个错误,第一个return
是意外的。
为什么?
您不能将一个返回语句分配给一个variables。 如果你想active
分配值true
或false
,只需删除return
s:
var active = sort.attr('selected') ? true : false;
或者也许更好:
var active = sort.prop('selected');
因为.prop
始终返回true
或false
,而不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;