jquery – 可以在coffeescript中循环遍历

前端之家收集整理的这篇文章主要介绍了jquery – 可以在coffeescript中循环遍历前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图以编程方式创建一些 JavaScript按钮来切换页面的可见性(适用于快速标签过滤).这适用于一个标签
trigger = ".sales-focus-btn"
target = ".sales-focus"

jQuery ->   
  $(trigger).toggle ->
    $("#primary-content").find('.container').hide()
    $("#primary-content").find(target).show(),->
    $("#primary-content").find('.container').show()

可以在咖啡书中做类似的事情,但是使用数组,例如

trigger = [
  ".sales-focus-btn"
  ".service-focus-btn"
  ".other-focus-btn"
  ...
]
target = [
  ...
]

是否可以循环并为每种类型的标签创建一个切换?

UPDATE

是的,这是可能的.使用形式:

myFunction = (el) -> console.log el
myFunction elem for elem in array

解决方法

当然可以:
content = $('#primary-content')
container = content.find('.container')

tags = [
    '.sales-focus'
    '.service-focus'
    '.other-focus'
]

$.each tags,(tag) ->
    target = content.find(tag)
    $(tag + "-btn").toggle ->
        container.hide()
        target.show(),->
        container.show()

记住要缓存你的DOM元素.或者使用标签中的标签,而不是jQuery.each标签,(标签) – > …:

for tag in tags
    do ->
      target = content.find(tag)
      $(tag + "-btn").toggle ->
        container.hide()
        target.show(),->
        container.show()

(@epidemian指出,需要做II→IIFE来保持每个目标的范围)

猜你在找的jQuery相关文章