Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 已选择Datatables类_Jquery_Datatable_Addclass - Fatal编程技术网

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
不正常