有一组按钮需要根据与按钮关联的类来显示。.show()无法处理阵列中的按钮ID
我正在做的是抓住特定类的按钮的ID,并将它们放入相应的数组中。然后,我隐藏所有按钮,不管类是什么,然后基于按钮单击,选择一个特定的数组,并显示与数组中的id关联的按钮。
我的问题是,当我尝试下面的代码时,节目不起作用。
$.each(cadetInfoIds, function(i, val){
$('#categoryButtonGroup #' + i).show();
});
..但是,当我这样做,它的工作原理
$.each(cadetInfoIds, function(i, val){
$('#categoryButtonGroup #show_info1').show();
});
下面是相关的代码:
<div class="col-md-4" id="categoryButtonGroup">
<button type="button" class="btn cInfo mInfo dInfo fInfo" id="show_info1">Info 1</button>
<button type="button" class="btn cInfo mInfo dInfo" id="show_info2">Info 2</button>
<button type="button" class="btn mInfo dInfo fInfo" id="show_info3">Info 3</button>
<button type="button" class="btn dInfo fInfo" id="show_info3">Info 3</button>
</div>
$(document).ready(function() {
var cInfoIds = [];
$("#categoryButtonGroup").find(".cInfo").each(function(){ cInfoIds.push(this.id); });
InitializePage();
function InitializePage(){
ShowItemsByCategory('c');
SetButtons();
}
function ShowItemsByCategory(category){
$('#categoryButtonGroup button').hide();
switch (category) {
case 'c':
$.each(cInfoIds, function(i, val){
$('#categoryButtonGroup #' + i).show();
//$('#categoryButtonGroup #show_info1').show();
});
break;
你为什么不只是使用'$(“#categoryButtonGroup .cInfo”)显示()'代替保存数组中的所有ID? – Barmar 2015-02-05 21:46:46
谢谢巴尔玛,这使得它更有意义,并且使它更有效率。如果你使用它作为答案,我会为你做标记 – Avien 2015-02-05 22:09:24