您的问题是,.nested-fields
当您说:
$(".exercise .nested-fields")
您需要分别考虑每一个.exercise
。一种简单的方法是将选择器分成两半并使用嵌套循环:
countSetNumbers = ->
for ex in $('.exercise')
for nf, i in $(ex).find('.nested-fields')
$(nf).find('.set').html(i + 1)
这假设一个 HTML 结构是这样的:
<div class="exercise">
<div class="nested-fields">
<div class="set"></div>
</div>
<!--...-->
</div>
<!--...-->
演示:http: //jsfiddle.net/ambiguous/LekpV/
你也可以用 jQuery 风格来做:
countSetNumbers = ->
$('.exercise').each ->
$(@).find('.nested-fields').each (i) ->
$(@).find('.set').html(i + 1)
演示:http: //jsfiddle.net/ambiguous/Au7rs/1/