【发布时间】:2023-03-04 19:45:02
【问题描述】:
我对javascript 或coffeescript 不是特别有经验,但我设法使用coffeescript 和jQuery 创建了一个简单的函数。该功能用于为锦标赛组织网站突出显示和显示/隐藏游戏,以便自动隐藏和取消选中不应选择的游戏,并且一次只显示一个未决定的游戏。除了一个警告之外,该功能完美地工作:
validate = ->
finished = true
$('.edit').find('.round').find('.match').each (m, match) ->
wins = {}
valid = true
$(match).find('.game').each (g, game) ->
if valid
$(game).show()
$(game).find('label').css('background-color', 'red')
checked = $(game).find(':checked')
if checked.length == 0
valid = false
else
winner = checked.attr('value')
if winner of wins
if ++wins[winner] == 2
valid = false
else
wins[winner] = 1
$('label[for=' + checked.attr('id') + ']').css('background-color', 'green')
else
$(game).find(':checked').prop('checked', false)
$(game).hide()
if finished
done = false
for p, w of wins
if w == 2
done = true
if not done
finished = false
if finished
$('input:submit').show()
else
$('input:submit').hide()
除非我在
之后写一些东西,anything,否则该函数将拒绝工作if checked.length == 0
valid = false
在与valid = false相同的缩进上
我的意思是什么。我可以在那里设置一个新变量,它工作正常!
我四处寻找这是否是一些缩进错误,它只是忽略了该行。我试过了
valid = false if checked.length == 0
但我只是从 rails 得到一个错误,因为在那之后我有一个 else 语句。请有人向我解释发生了什么。
【问题讨论】:
-
“拒绝工作”究竟是什么意思?如果你使用
valid = false if checked.length == 0,你得到的确切错误信息是什么? -
两件事。 1.“拒绝工作”是什么意思?您是否在控制台中收到错误消息?会发生什么而不是您的预期? 2. 你确定你没有混合制表符和空格吗?你必须注意这一点。大多数咖啡脚本都是用 2 个空格缩进编写的,所以我建议用两个空格替换所有制表符。
-
@muistooshort if 你不能把 else 挂在 post-line 上。
-
@AlexWayne:这有点无关紧要,任何代码墙都应该包含确切的错误消息(包括行号)。
标签: javascript jquery ruby-on-rails coffeescript