2013-03-15 12 views
0

每次用户添加新行而不刷新页面时,我都预先添加一行。并重置我使用.each()的行的类,但它不能正常工作。它为每一个新行添加奇数类。如何在预先设置行之后重置表格行的类别

$("#tbadver").prepend("<tr id='tr_"+advID+"'>" 
    +"<td >"+advName.val()+"</td>" 
    +"<td >"+email.val()+"</td>" 
    +"<td >"+phone.val()+"</td>" 
    +"<td >"+mobile.val()+"</td>" 
    +"<td >"+contactName.val()+"</td>" 
    +"<td >"+contactEmail.val()+"</td>" 
    +"<td >"+contactMobile.val()+"</td>" 
    +"</tr>"); 
jQuery(".tbl-grid tr").each(function(e) 
{ 
    $(e).find("tr:odd").addClass("odd"); 
    $(e).find("tr:even").addClass("even"); 
}); 
+1

'e'所有匹配的 '奇'在你的代码中索引不是元素。 '.each(function(index,Element))' – undefined 2013-03-15 08:38:44

回答

0
$('table tr').removeClass("odd").removeClass("even"); 
$('table tr:odd').addClass('odd'); 
$('table tr:even').addClass('even'); 
2

你应该先重置所有的表类:

$("tbl-grid tr").removeClass("odd even"); 
$("tbl-grid tr:odd").addClass("odd"); 
$("tbl-grid tr:even").addClass("even"); 

你并不需要分析所有与TR each,只是分析DOM。

此外,请确保您在on等“活动”事件中执行此操作。

+2

良好的开始,但不好使用'removeClass'。 – VisioN 2013-03-15 08:39:45

+0

@VisioN我修复了 – coolguy 2013-03-15 08:40:05

+1

谢谢我的错误是要编辑 – soyuka 2013-03-15 08:40:23

0

每个功能是没有必要的.............

$(".tbl-grid tr:odd")选择下.tbl-grid

$(".tbl-grid tr:odd").addClass("odd");是足够