是否可以在数组声明中添加if语句?
代码:
dayOfWeek = [if($('#sunday').checked()){$('#sunday').val()}];
浏览器错误:未捕获的SyntaxError:意外的令牌if。
我也试过了:
$('#domingo').checked() ! $('#domingo').val() : 0
浏览器错误:未捕获的SyntaxError:意外的令牌!
修改
@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]没有方法'checked'
问候!
答案 0 :(得分:4)
您需要的是ternary or conditional operator:
$('#domingo').checked() ? $('#domingo').val() : 0
但是,对同一元素两次查询DOM并不是一个好主意。事先将生成的jQuery对象保存到变量中并重用它:
var $domi = $('#domingo');
dayOfWeek = [$domi.checked() ? $domi.val() : 0];
我不知道.checked()
是什么,也许你的意思是.is(':checked')
。
答案 1 :(得分:4)
尝试使用javascript三元运算符,记录为here:
$('#domingo').checked() ? $('#domingo').val() : 0