2013-10-04 49 views
1

我想让它可以在HTML中创建具有相同类名的元素,并且jQuery将根据顺序对它们进行计数。我之前用普通的JavaScript成功完成了它,但是,我正在尝试学习jQuery API。有没有办法像这样做?截至目前,它不接受$(...)[#]方法。选择单独的类元素

for (var i = 0; i < $('.description').length; i++) { 
    $('.description')[i].before($('<div/>', { 
     id: 'q' + (i+1), 
     class: 'qNumber', 
     text: (i+1) + ')', 
    })); 
} 

回答

3
$('.description').before(function(i) { 
    return $('<div/>', { 
     id  : 'q' + (i+1), 
     'class' : 'qNumber', 
     text : (i+1) + ')', 
    }); 
}); 

FIDDLE

+0

出于某种原因,我总是忘了'前()'可以做到这一点......这是远远更好。 –

+0

@DavidThomas - 我也是这样,并非所有的DOM插入方法都需要一个函数,所以我必须在回答之前对它进行测试。 – adeneo

+0

非常感谢。一个问题:函数中的'i'参数是否被标准化为计数器或什么?它如何知道每次都会变大一点? – mvarble