作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这是一个常见困境的例子:如何在 .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++;
});
}
最佳答案
阅读docs , 它已经有索引了!
.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
在函数内部,所以每次迭代都会重置它。您需要将其移出函数才能使其正常工作。
关于javascript - 如何在 jQuery .each() 函数中访问变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15282569/
我是一名优秀的程序员,十分优秀!