Javascript 获取内部未定义的数组单击循环内部的函数
我是新手,所以我想我错过了一些简单的东西。foor循环工作正常,但在它内部有一个未定义的变量Javascript 获取内部未定义的数组单击循环内部的函数,javascript,jquery,Javascript,Jquery,我是新手,所以我想我错过了一些简单的东西。foor循环工作正常,但在它内部有一个未定义的变量 var categories_info = ["historia","excelencia","arte","social","instalaciones","padres","familia"]; for ( var i = 0; i < categories_info.length; i++) { $("#showMe-"+categories_info[i]).click(functi
var categories_info = ["historia","excelencia","arte","social","instalaciones","padres","familia"];
for ( var i = 0; i < categories_info.length; i++) {
$("#showMe-"+categories_info[i]).click(function(){
$(".info."+categories_info.[i]).addClass("info-show");
console.log(".info."+categories_info[i]); //debug is undefinded
});
};
var categories_info=[“历史”、“卓越”、“艺术”、“社会”、“安装”、“教士”、“家庭”];
对于(变量i=0;i
您需要创建一个类似
var categories_info = ["historia", "excelencia", "arte", "social", "instalaciones", "padres", "familia"];
for (var i = 0; i < categories_info.length; i++) {
(function(i) {
$("#showMe-" + categories_info[i]).click(function() {
$(".info." + categories_info[i]).addClass("info-show");
console.log(".info." + categories_info[i]);
});
})(i);
};
var categories_info=[“历史”、“卓越”、“艺术”、“社会”、“安装”、“教士”、“家庭”];
对于(变量i=0;i
这种方法称为
基本上,当实际单击发生时,变量i
对回调不可用
但是,通过在自执行匿名函数中传递
i
,您已经创建了一个闭包,该闭包将保留i
,并且可以被单击处理程序访问。您需要创建一个类似
var categories_info = ["historia", "excelencia", "arte", "social", "instalaciones", "padres", "familia"];
for (var i = 0; i < categories_info.length; i++) {
(function(i) {
$("#showMe-" + categories_info[i]).click(function() {
$(".info." + categories_info[i]).addClass("info-show");
console.log(".info." + categories_info[i]);
});
})(i);
};
var categories_info=[“历史”、“卓越”、“艺术”、“社会”、“安装”、“教士”、“家庭”];
对于(变量i=0;i
这种方法称为
基本上,当实际单击发生时,变量i
对回调不可用
但是,通过在自动执行的匿名函数中传递i
,您已经创建了一个闭包,该闭包将保留i
,并可供单击处理程序访问。使用闭包。更改:
$("#showMe-"+categories_info[i]).click(function(){
$(".info."+categories_info.[i]).addClass("info-show");
console.log(".info."+categories_info[i]); //debug is undefinded
});
致:
使用闭包。更改:
$("#showMe-"+categories_info[i]).click(function(){
$(".info."+categories_info.[i]).addClass("info-show");
console.log(".info."+categories_info[i]); //debug is undefinded
});
致:
谢谢我不知道这件事,谢谢你提供的关于这个方法的信息。我在console.log中看到了我所期望的,但我在这一行上得到了
意外的令牌[
(.info.+categories\u info.[I]).addClass(“信息显示”)wich似乎真的odd@ShairNash,这是一个语法错误,有一个额外的
。请尝试我更新的答案,如果它仍然不起作用,请告诉我。我现在看到点了!我怎么会错过它?非常感谢!我不知道这一点,谢谢你提供有关该方法的信息。我在console.log中看到了我预期的结果,但我得到了意外的结果d标记[
在这一行$(.info.+categories_info.[i]).addClass(“info show”);
看起来odd@ShairNash,这是一个语法错误,有一个额外的
。请尝试我更新的答案,如果它仍然不起作用,请告诉我。我现在看到点了!我怎么会错过它?非常感谢!