2

是否可以在数组声明中放置 if 语句?

代码:

dayOfWeek = [if($('#sunday').checked()){$('#sunday').val()}];

浏览器错误:Uncaught SyntaxError: Unexpected token if。

我也试过:

$('#domingo').checked() ! $('#domingo').val() : 0

浏览器错误:Uncaught SyntaxError: Unexpected token !

编辑

正如@bažmegakapa 回答的那样,没有错误的代码是:

diasSemana = new Array($domi.is(':checked') ? $domi.val() : null, $lun.is(':checked') ? $lun.val() : null);

这不起作用:

$('#domingo').checked() ? $('#domingo').val() : 0

浏览器显示此错误:未捕获的 TypeError: Object [object Object] has no method 'checked'

问候!

4

2 回答 2

4

您需要的称为三元或条件运算符

$('#domingo').checked() ? $('#domingo').val() : 0

但是,为同一个元素查询 DOM 两次并不是一个好主意。预先将生成的 jQuery 对象保存到变量中并重用它:

var $domi = $('#domingo');
dayOfWeek = [$domi.checked() ? $domi.val() : 0];

我不知道是什么.checked(),也许你的意思是.is(':checked')

一些小提琴演示

于 2013-06-03T17:10:14.260 回答
4

尝试使用此处记录的 javascript 三元运算符:

$('#domingo').checked() ? $('#domingo').val() : 0
于 2013-06-03T17:11:06.433 回答