我试图在当前函数之外传递变量
checkBoxClasses
。
我该怎么做?
$(currentMap).find(':checkbox').filter(':checked').each(function () {
var b = $(this).attr('class').split(' ');
var checkBoxClasses = b[0];
});
alert(checkBoxClasses);
最佳答案
发生这种情况是因为 JS 变量作用域。前任的更多信息。 What is the scope of variables in JavaScript?
一般来说,变量不能在其定义范围之外使用。
这就是为什么这应该有效。
var checkBoxClasses = [];
$(currentMap).find(':checkbox').filter(':checked').each(function () {
var b = $(this).attr('class').split(' ');
checkBoxClasses.push(b[0]);
});
alert(checkBoxClasses);
在您的版本中,每个循环内的匿名函数意味着该函数内部定义的变量在该函数外部不可见。
关于javascript - 在函数外部传递变量。 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8725371/