我试图以编程方式创建一些
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来保持每个目标的范围)