[英]How to make variable accessible within jQuery .each() function?
這是一個經常陷入困境的例子:如何在這個.each()
中使markup
可訪問?
我更感興趣的是學習如何從閉包內訪問外部變量,而不是在這個特定的問題中。 我可以通過從每個函數內部分配markup
來解決這個問題,但我寧願學習一種更優雅的方法來處理這類問題。
// hide form & display markup
function assessmentResults(){
// get assessment responses
var markup = parseForm();
// show assessment results to user
$('#cps-assess-form fieldset').each( function() {
var q = $(this).find('.fieldset-wrapper');
var i = 0;
// hide form questions
q.slideUp();
// insert markup
$('<div>'+markup[i]+'</div>').insertAfter(q);
i++;
});
}
閱讀文檔 ,它已經有一個索引!
.each( function(index, Element) )
不需要i
$('#cps-assess-form fieldset').each( function(index) {
var q = $(this).find('.fieldset-wrapper').slideUp();
$('<div/>').html(markup[index]).insertAfter(q);
});
您失敗的原因是i
在函數內部,因此每次迭代都會重置。 您需要將其移出函數以使其工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.