jQuery-如何在使用show()或hide()时对多个变量进行分组?
如何使用sigle show()或hide()将以下所有变量分组,而不是对每个变量单独调用?谢谢jQuery-如何在使用show()或hide()时对多个变量进行分组?,jquery,Jquery,如何使用sigle show()或hide()将以下所有变量分组,而不是对每个变量单独调用?谢谢 var alertsLink = "alertsLink"; var alertsLinkId = $j("#" + alertsLink); var modifyLink = "modifySearch"; var events = $j("#eventsPanel"); var alerts = $j("#alertsPanel"); var results = $j("div.results"
var alertsLink = "alertsLink";
var alertsLinkId = $j("#" + alertsLink);
var modifyLink = "modifySearch";
var events = $j("#eventsPanel");
var alerts = $j("#alertsPanel");
var results = $j("div.results");
if(id == eventsLink){
events.show();
alerts.hide();
results.hide();
eventsLinkId.hide();
alertsLinkId.show();
}else if(id == alertsLink){
events.hide();
alerts.show();
results.hide();
alertsLinkId.hide();
eventsLinkId.show();
}else if(id != modifyLink){
events.hide();
alerts.hide();
results.show();
alertsLinkId.show();
eventsLinkId.show();
}
}
试试这个,jQuery支持:
您可以组合选择器,如下所示:
$j("div.results, #alertsPanel")…
你也可以这样做:
$j('#eventsPanel, #alertsLink, #alertsPanel, div.results).hide();
switch (id)
{
case 'eventsLink': $j("#eventsPanel, #alertsLink").show(); break;
case 'alertsLink': $j("#alertsPanel").show(); break;
default: $j("div.results, #alertsLink").show(); break;
}
保持if/else也起作用;) 如果您想继续使用变量,而不是在代码中乱放大量神奇的字符串,那么您可以:
events.add(alertsLinkId).show();
alerts.add(results).add(eventsLinkId).hide();
我不想硬编码每一行,因为有多个条件要处理。如果可能的话,只是想知道如何使用参数而不是选择器打电话。谢谢,但是使用Box9的建议,它已经减少到只有两行代码,而且更干净了。:)
$j('#eventsPanel, #alertsLink, #alertsPanel, div.results).hide();
switch (id)
{
case 'eventsLink': $j("#eventsPanel, #alertsLink").show(); break;
case 'alertsLink': $j("#alertsPanel").show(); break;
default: $j("div.results, #alertsLink").show(); break;
}
events.add(alertsLinkId).show();
alerts.add(results).add(eventsLinkId).hide();