Pass parámetros adicionales para jQuery cada () devolución de llamada
Estoy trabajando en una aplicación que presentará encuestas al usuario. El marcado se parece a esto:
<body>
<div class="question" id="q1">
Question 1
</div>
<div class="question" id="q2">
Question 2
</div>
<!-- etc -->
</body>
Quiero construir los objetos JavaScript desde el DOM usando jQuery, así que en elSurvey
constructor Estoy atravesando el conjunto jQuery usando eleach()
método. El problema es que dentro de la función de devolución de llamada no puedo obtener una referencia a laSurvey
objeto para agregar cadaQuestion
objeto a laSurvey.questions
matriz. ¿Cómo puedo obtener una referencia a laSurvey
objeto? ¿Hay alguna manera de pasar un parámetro adicional (por ejemplo, una referencia aSurvey
objeto) a la función de devolución de llamada?
function Survey() {
this.questions = new Array;
$('.question').each(function(i) { (/* Survey object */).questions.push(new Question(this)); });
}
function Question(element) {
this.element = $(element);
}