【问题标题】:Pulling incremental entries from an array in an each loop在每个循环中从数组中提取增量条目
【发布时间】:2015-01-23 13:32:57
【问题描述】:

我有一个 .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

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

【问题讨论】:

  • 究竟是什么不工作?你得到什么结果,你期待什么结果?

标签: jquery this each


【解决方案1】:

只需添加一个计数器:

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

【讨论】:

  • 这就像一个魅力。没有考虑添加单独的计数器,因为 .each 有它自己的。 [拍头]Doh!
【解决方案2】:

你在寻找这样的东西吗?

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

【讨论】:

  • 非常感谢您的回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多