2014-11-25 44 views
-2

我有一个.each循环。对于每个元素的迭代,我希望将一个数组的内容添加到一个属性值中。无法获取顺序数组值。继承人我的代码...从每个循环中的数组拉取增量项

var accordionArray = [] 
$('a').each(function(i) { 
    if ($(this).hasClass('acc-head')) { 
     accordionArray.push($(this).attr('id')); 
    } 
}); //end a 
$('div').each(function(i) { 
    if ($(this).hasClass('ready-accordion')) { 
     $(this).attr('role', 'tab'); 
     $(this).attr('aria-labelledby', accordionArray[i]); 
    } 
}); //end div 

任何帮助将不胜感激,我敢肯定这是愚蠢的,我只是接近它的顶部看到。谢谢

+2

恰好是不工作怎么办?你得到了什么结果,你期望得到什么结果? – Deleteman 2014-11-25 13:55:03

回答

0

只需添加一个计数器:

var counter = 0; 
$('div').each(function(i) { 
    if ($(this).hasClass('ready-accordion')) { 
     $(this).attr('role', 'tab'); 
     $(this).attr('aria-labelledby', accordionArray[counter]); 
     counter++; 
    } 
}); 
+0

这工作就像一个魅力。没有考虑增加一个单独的柜台,因为每个都有它自己的。 [打头] Doh! – Sharper 2014-11-25 15:48:57

0

你在找这样的事吗?

var accordionArray = [] 
$('a').each(function(i) { 
    if ($(this).hasClass('acc-head')) { 
     //accordionArray.push($(this).attr('id')); 
     $('div.ready-accordian').eq(i).attr('aria-labelledby', $(this).attr('id')); 
    } 
}); //end a 
+0

非常感谢您的回复。 – Sharper 2014-11-25 15:47:42