Jquery 已选择Datatables类
我想将类添加到所选行,当我初始化表并单击行时,我的代码运行良好Jquery 已选择Datatables类,jquery,datatable,addclass,Jquery,Datatable,Addclass,我想将类添加到所选行,当我初始化表并单击行时,我的代码运行良好 $('#dataTables-example tbody').on( 'click', 'tr', function () { if ( $(this).hasClass('selected') ) { $(this).removeClass('selected'); } else {
$('#dataTables-example tbody').on( 'click', 'tr', function () {
if ( $(this).hasClass('selected') ) {
$(this).removeClass('selected');
}
else {
table.$('tr.selected').removeClass('selected');
console.log($(this).text());
$(this).addClass('selected').css('color', 'red');
}
});
但当我用Ajax重新初始化表并单击新行时,添加类“selected”不起作用。我猜您这里有语法错误:
table.$('tr.selected').removeClass('selected');
应该是:
table.find('tr.selected').removeClass('selected');
如果选择了tr
元素,则需要找到其类名为的元素,然后从中删除类名。尝试此操作
$(function() {
$('#dataTables-example tbody tr').click(function() {
$('#dataTables-example tbody tr').removeClass('selected');
var el = $(this);
el.addClass('selected');
})
});
添加off('click','tr')
有帮助
$('#dataTables-example tbody').off('click', 'tr').on( 'click', 'tr', function () {
if ( $(this).hasClass('selected') ) {
$(this).removeClass('selected');
}
else {
table.$('tr.selected').removeClass('selected');
console.log($(this).text());
$(this).addClass('selected').css('color', 'red');
}
});
在此之前,我对var表进行了初始化:@user3041678好的,那么您可以尝试使用这个table.find('tr.selected').removeClass('selected')代码>正常,但删除类工作正常,将所选类添加到新表的行中不起作用$(this).addClass('selected').css('color','red')代码>.css('color','red')
正常工作,但addClass
不正常