我想在迭代函数中使用 jQuery 元素,同时保持对类的实例变量的访问。
例如:
class MyClass
myVar: true
myFunction: =>
$('div').each ->
console.log @.myVar # true?
console.log $(this) # div?
我想在迭代函数中使用 jQuery 元素,同时保持对类的实例变量的访问。
例如:
class MyClass
myVar: true
myFunction: =>
$('div').each ->
console.log @.myVar # true?
console.log $(this) # div?
您提出的问题的答案是:使用粗箭头each
来维护 的值@
,并使用传递给的索引/元素参数each
来访问元素:
myFunction: =>
$('div').each (i, e) =>
console.log @myVar
console.log $(e)
此外,使用@myVar
代替@.myVar
(两者都可以,但@.myVar
远非惯用)。
对于您实际尝试做的事情,更好each
的答案是避免并使用 CoffeeScript 的for/in
:
myFunction: ->
for div in $('div')
console.log @myVar # true
console.log $(div) # div