如何将这些“if”更改为选择器字符串

时间:2015-03-04 23:25:15

标签: coffeescript

我有这些if语句,我相信它可以缩短。我对coffeescript(以及javascript)也很新。

$ ->
  url = window.location.href.toString()
  urlpart = url.split("//")
  urlpart = urlpart[1].split("#")
  $("#mainTabs a[href=\"#payments\"]").tab "show"  if urlpart[1] is "payments"
  $("#mainTabs a[href=\"#invitations\"]").tab "show"  if urlpart[1] is "invitations"
  $("#mainTabs a[href=\"#orders\"]").tab "show"  if urlpart[1] is "orders"
  $("#mainTabs a[href=\"#campaigns\"]").tab "show"  if urlpart[1] is "campaigns"

1 个答案:

答案 0 :(得分:0)

您可以使用字符串插值来构建jQuery选择器,例如:

url = window.location.href.toString()
urlpart = url.split("//")
urlpart = urlpart[1].split("#")
$("#mainTabs a[href='##{urlpart[1]}']").tab "show"

双引号字符串中的#{...}位是插值。我还在选择器内切换到单引号以减少反斜杠噪音。