Если вы измените свой код на
$('#' + ids[1] + " > td").css(
{ 'text-decoration': 'line-through', 'color': 'red' });
если будет работать. Если вы используете rownumbers: true
и не хотите, чтобы номер строки был зачеркнут, вы можете использовать
$('#' + ids[1] + " > td:not(.jqgrid-rownum)").css(
{ 'text-decoration': 'line-through', 'color': 'red' });
Еще одна небольшая рекомендация: используйте gridview: true
, чтобы быстрее заполнить jqGrid. В этом режиме вся содержащаяся таблица будет заполнена jqGrid как ссылка и будет вставлена с одной операцией jQurey.append
. Использование события afterInsertRow
нарушает правило, поскольку каждая строка будет вставлена с операцией jQurey.append
, а затем будет называться afterInsertRow
. Поэтому моя рекомендация: используйте gridview: true
и не используйте afterInsertRow
. Чтобы внести изменения в css, используйте loadComplete
или gridComplete
вместо:
jQuery('#list').jqGrid({
//...
loadComplete: function() {
var ids = jQuery('#list').getDataIDs();
for (var i = 0; i < ids.length; i++) {
$('#' + ids[i] + ' > td:not(.jqgrid-rownum)').css(
{ 'text-decoration': 'line-through', 'color': 'red' });
}
}
// ...
});