Solo cercando di imparare e confuso su come fare quanto segue. Grazie!Come potrei scrivere questo jQuery in coffeescript?
$.each($(".nested-fields"), function(intIndex) {$(this).find(".set").html(intIndex+1);;});
Grazie ancora.
Solo cercando di imparare e confuso su come fare quanto segue. Grazie!Come potrei scrivere questo jQuery in coffeescript?
$.each($(".nested-fields"), function(intIndex) {$(this).find(".set").html(intIndex+1);;});
Grazie ancora.
Il javascript originale potrebbe (o dovrebbe) essere scritto in questo modo:
$('.nested-fields').each(function(i){
$(this).find('.set').html(i+1)
})
così
$('.nested-fields').each (i) ->
$(this).find('.set').html i+1
una versione più leggibile possibile assomiglia a questo:
fields = $('.nested-fields')
for field, i in fields
set = $(field).find('.set')
set.html i+1
o
$(field).find('.set').html i+1 for field in fields
for field, i in $(".nested-fields")
$(field).find('.set').html(i+1)
(Questo itera oltre la matrice con un for (;;) ad anello.)
Oppure, se si desidera utilizzare $ .each:
$.each $(".nested-fields"), (i) ->
$(this).find('.set').html(i+1)
BTW il titolo è un po ' non corretta; dovrebbe essere come scrivere questo javascript nel CoffeeScript;)
Personalmente mi piace la for .. in ..
di coffeescrip ma mi era noioso utilizzando la seguente struttura per avere l'iteratore come JQuery oggetto:
for td in $('td.my_class')
$td = $(td)
..
Così ho funzione definita a disposizione un articoli a ciascun oggetto JQuery:
$.fn.items = -> $.map(this, $)
Ora la navigazione con CoffeeScript è più semplice:
for $td in $('td.my_class').items()
$td <-- is a JQuery object
nice catch per $(). Each :) ('.html i + 1 per campo in campi' non è * che * più leggibile;) Vorrei fare' .html (i + 1) 'almeno) – arnaud576875
mi piace l'ultimo, ma direi tutto e renderlo '... per il campo in $ ('. nested-fields')'. E sono d'accordo con @arnaud che '.html (i + 1)' è più facile da leggere. –