只是想学习并混淆如何做以下事情。谢谢!
$.each($(".nested-fields"), function(intIndex) {$(this).find(".set").html(intIndex+1);;} );
再次感谢你。
答案 0 :(得分:20)
原始javascript可以(或应该)写成:
$('.nested-fields').each(function(i){
$(this).find('.set').html(i+1)
})
所以
$('.nested-fields').each (i) ->
$(this).find('.set').html i+1
更易读的版本可能如下所示:
fields = $('.nested-fields')
for field, i in fields
set = $(field).find('.set')
set.html i+1
或
$(field).find('.set').html i+1 for field in fields
答案 1 :(得分:3)
for field, i in $(".nested-fields")
$(field).find('.set').html(i+1)
(这使用for(;;)循环遍历数组。)
或者如果你想使用$ .each:
$.each $(".nested-fields"), (i) ->
$(this).find('.set').html(i+1)
是的,标题有点不正确;应如何在Coffeescript中编写此Javascript ;)
答案 2 :(得分:0)
就个人而言,我喜欢coffeescrip的for .. in ..
,但是我很无聊使用以下结构将迭代器作为JQuery对象:
for td in $('td.my_class')
$td = $(td)
..
所以我定义了一个可用于每个JQuery对象的items函数:
$.fn.items = -> $.map(this, $)
现在使用coffeescript导航更简单:
for $td in $('td.my_class').items()
$td <-- is a JQuery object