$(dt[i]).click((function(i,dd){ if( t[i]){ $(dd).show(); t[i] = false; } else{ $(dd).hide(); t[i] = true; } })(i,dd[i]));
click绑定肯定是一个函数,你修改后,就成一个上来就自执行的函数,肯定是不对的
又因为i作用域的问题,使用闭包解决i索引问题,最终return 函数给 click
一个是传函数,你写的是直接执行,区别那么大
经过两位指点,我已经懂了~thank you