我的咖啡脚本中有很多循环,它们遍历一组 DOM 元素,并执行更多的 jQuery。这些函数看起来像这样:
$('.iterable.object').each ->
$(@).doThis
$(@).doThat
## More complicated usage
$(@).jqueryPluginCall
x: $(@).data('attr1')
x: $(@).data('attr2')
## More complicated usage
$(@).children('ul.animateable').each ->
if $(@).data('animation') is "fancy"
$(@).animate fancy: animation
else
$(@).animate simple: animation
$(@).focus(
->
$(@).animate some: more
, ->
$(@).animate even: more
) ## Or however you do double callbacks
$(@).
我一次又一次地输入了大约 3 个拼写错误,这变得很痛苦。
没有快捷语法$(@)
? 打字有点痛苦,而且似乎是一种很常见的语法。如果它以类似于@
自动函数调用者的方式运行,例如&doThis
代替&.doThis
.
编辑:我希望能够在 jQuery 加载后在 javascript 中定义一个别名,该别名在调用时响应 DOM 元素&
并链接到 methods &doThis
,而不是像@bennedich 下面建议的那样在每个循环的顶部。