我点击一个按钮,就对页面中展现出来的table,进行行去重!function table_rowspan(table_id,colnum){  
var table_firsttd = "";
var table_currenttd = "";
var table_SpanNum = 0;
var table_Obj = $(table_id + " tr td:nth-child(" +colnum + ")"); //nth-child  colnum=1  第一列
table_Obj.each(function(i){  
 if(i>0){
 $(this).css("color","#1E47BC"); 
 }
 if(i==0){
 table_firsttd = $(this);
 table_SpanNum = 1;
 }else{
 table_currenttd = $(this);
 if(table_firsttd.text()==table_currenttd.text()){
 table_SpanNum++;
 table_currenttd.hide(); //remove();
 table_firsttd.attr("rowSpan",table_SpanNum);
 table_firsttd.css("background-color","#E8F2FF");
 table_firsttd.css("color","#F7A045");
 }else{
 table_firsttd = $(this);
 table_SpanNum = 1;
 }
 }
 });
}上面是我写的  行去重的js代码,我觉得还行吧。
调用:table_rowspan("#showList",1);   //传进去 table的id和第几列我现在想实现一个功能就是 ,我点击另一个button,让上面这个行去重的table,恢复原样。
就是没有去重的效果,显示原始table。
var table_id="#showList";
var colnum=1;
var table_Obj = $(table_id + " tr td:nth-child(" +colnum + ")"); //nth-child  colnum=1  第一列
table_Obj.each(function(i){  
 var rowSpan = $(this).attr("rowSpan");
 if(rowSpan>1){
 $(this).attr("rowSpan",1);
 for(var i=1;i<rowSpan;i++){
 $(this).appendTo(table_Obj);
 }
 }
 });这样写 不行,浏览器还会卡死。求高人稍微指点迷津,小弟感激不尽。

解决方案 »

  1.   

    先把以前table clone 一份 然后操作clone出来的,显示clone的同时隐藏以前的table;
    reset的时候将clone的隐藏, 并show以前的table
      

  2.   

    顶一楼! 用div控制table显隐
      

  3.   

    var table_id="#showList";
        var colnum=3;
        var table_Obj = $(table_id + " tr td:nth-child(" +colnum + ")"); //nth-child  colnum=1  第一列
        table_Obj.each(function(i){  
             var rowSpan = $(this).attr("rowSpan");             
             if(rowSpan>1){        
                 $(this).attr("rowSpan",1);
                 var cloneTmp = $(this).clone()
                 for(var i=1;i<rowSpan;i++){                    
                  $(this).parent('tr').next('tr').append(cloneTmp);
                 }
             }
         });
      

  4.   

    function preTable(table_id,colnum){
    //重新排序     #showList   1
    var table_Obj = $(table_id + " tr td:nth-child(" +colnum + ")"); //nth-child  colnum=1  第一列
    table_Obj.each(function(i){  
    if($(this).hide()){
    $(this).show();
    }
    if($(this).attr("rowspan")>1){
    $(this).attr("rowspan","1");
    }
     });
    }