我关注jQuery .each loop
:
$('.table-data tbody tr td').each( function(index) {
$('.table-data tbody tr td' + ':nth-child(' + index + ')' ).addClass( 'nth-' + index );
});
问题是它会起作用,但.table-data tbody tr td'
的最后一个元素不会得到一个类。为什么呢?
这是因为index
基于0吗?如何让它循环index
+ 1次?
答案 0 :(得分:2)
您不需要使用索引向下钻取到当前元素,这比这更容易!
$(".table-data tbody td").each(function(index){
$(this).addClass("nth-" + index);
});
要重新编号每行中的TD元素,请尝试此操作。
$(".table-data tbody tr").each(function(index){
$(this).find("td").each(function(index){
$(this).addClass("nth-" + index);
});
});
或者,如果你想要有点聪明,这......
$(".table-data tbody td").each(function(){
$(this).addClass("n-" + $(this).index());
});
请参阅此操作:http://jsbin.com/usaqix
答案 1 :(得分:0)
第n个孩子从1开始,所以是的,基于零的索引将无法在其上正常工作。你需要在你使用索引变量的地方做索引+ 1,但它会迭代正确的次数。