在咖啡脚本中,我试图弄清楚数组中是否包含某些内容。但似乎无法弄清楚正确的语法。有没有办法做到这一点而不必迭代它们?
谢谢,
if $(this).val() is in ["needs_cover","comatose"]
$("#head_count").hide()
else
$("#head_count").show()
在咖啡脚本中,我试图弄清楚数组中是否包含某些内容。但似乎无法弄清楚正确的语法。有没有办法做到这一点而不必迭代它们?
谢谢,
if $(this).val() is in ["needs_cover","comatose"]
$("#head_count").hide()
else
$("#head_count").show()
只需放下is
:
if $(this).val() in ["needs_cover","comatose"]
$("#head_count").hide()
else
$("#head_count").show()
这将转换为以下 JavaScript:
var _ref;
if ((_ref = $(this).val()) === "needs_cover" || _ref === "comatose") {
$("#head_count").hide();
} else {
$("#head_count").show();
}
如果这是一个常见的用例,您可以编写一个函数,它还允许您编写一个更紧凑的例程,如下所示:
hideShowFn = (valSelector, hideShowElSelector, compareArr) ->
if $(valSelector).val() in compareArr then return $(hideShowElSelector).hide()
$(hideShowElSelector).show()
我更喜欢执行上述操作,因为它会使代码稍微扁平化。这是我的偏好。
您可以像这样调用该函数:
hideShowFn this, '#head_count', ['needs_cover', 'comatose']