如何添加计数器以动态生成ID号?

时间:2014-06-25 20:54:35

标签: jquery twitter-bootstrap

我已将此Jquery添加到.js文件中并且它可以正常工作。 所有剩下的,我无法搞清楚,就是添加一个计数器。然后可以将计数器添加到id="accordingNR"data-parent="accordionNR"(其中显示为“NR”)和其他必要的参考。

另外,既然我是编码的初学者,我会很感激有关如果能更有效地编写这些内容的任何提示吗?

$('.speaker-info').each(function(){
    $(this).wrap("<div class=\"accordion\" id=\"accordion\"></div>");
});

$('.speaker-info h4').each(function(){ 
    $(this).nextAll(':lt(2)')
           .andSelf()
           .wrapAll("<div class=\"accordion-heading\"><a class=\"accordion-toggle\" data-toggle=\"collapse\" data-parent=\"#accordion\" href=\"#collapseOne\"> </a></div>");
});

$('.accordion-heading').each(function(){
    $(this).nextUntil('.accordion-heading')
           .wrapAll("<div id=\"collapseOne\" class=\"accordion-body collapse in\"><div class=\"accordion-inner\"></div></div>");
    $(this).next()
           .andSelf()
           .wrapAll('<div class=\"accordion-group\"></div>');
});

我正在通过Jquery从Bootstrap创建collapse。不幸的是,这是生成它的唯一方法。

1 个答案:

答案 0 :(得分:0)

如果在回调函数中包含参数,则.each方法会生成自己的计数器:

$('.speaker-info').each(function(i,el){
    // i is an automatic counter that starts at zero,
    // el is the DOM element being acted on (same as 'this')
    var id = "accordingNR_"+i;