我有一系列的头部/身体的图案,其中标题的点击将显示有问题的身体.
这一切都发生在.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]); } });