我有一系列的头部/身体的图案,其中标题的点击将显示有问题的身体.
这一切都发生在.click初始化页面准备好…
而不是这样做(工作正常,但是是一种痛苦):
- $('#show_fold_ping').click(function(){ ShowArea('#fold_ping') });
- $('#show_fold_http').click(function(){ ShowArea('#fold_http') });
- $('#show_fold_smtp').click(function(){ ShowArea('#fold_smtp') });
- $('#show_fold_pop3').click(function(){ ShowArea('#fold_pop3') });
- ...
我试图这样做:
- var Areas = ['ping','http','smtp','pop3'];
- for( var i in Areas ){
- Area = '#show_fold_'+Areas[i];
- $(Area).click(function(){ alert(Area); /* ShowArea(Area); */ });
- }
我遇到的问题是,所有这些都似乎被初始化为最后一个. IE:如果pop3是最后一个,请点击#show_fold_ [any]将提醒’#show_fold_pop3′.
这似乎应该真的很简单.我缺少一些明显的东西,还是将一个字符串传递给我不知道的jQuery?
编辑:
嘿,这些都很棒.我已经读了一些关闭和自我调用的功能,(kindasorta)得到它.
到目前为止,我有这个,但是点击似乎没有正确的绑定.区域将以正确的值进行警报,但没有点击绑定.我是否仍然与区域的范围问题,或者我只是完全关闭标记?
- $(function(){
- Areas = ['ping','pop3','imap','ftp','dns','tcp','database','SEO'];
- for( var i = 0; i < Areas.length; i++ ){
- (function (Area) {
- alert(Area);
- $("#show_fold_"+Area).click(function(){ alert('x'); });
- })(Areas[i]);
- }
- });