Javascript jQuery-从HTML表中删除和分组

Javascript jQuery-从HTML表中删除和分组,javascript,jquery,html,Javascript,Jquery,Html,我有这样一个动态表: <table cellspacing="0" cellpadding="0"> <col width="80" span="3"> <tr id="id-1"> <th colspan="3" width="240">TITLE-1</th> </tr> <tr> <td>val-1</td> <td>val-2&l

我有这样一个动态表:

<table cellspacing="0" cellpadding="0">
  <col width="80" span="3">
  <tr id="id-1">
    <th colspan="3" width="240">TITLE-1</th>
  </tr>
  <tr>
    <td>val-1</td>
    <td>val-2</td>
    <td>val-3</td>
  </tr>
  <tr id="id-1">
    <th colspan="3">TITLE-1</th>
  </tr>
  <tr>
    <td>val-2</td>
    <td>val-2</td>
    <td>val-3</td>
  </tr>
  <tr id="id-2">
    <th colspan="3">TITLE-2</th>
  </tr>
  <tr>
    <td>val-1</td>
    <td>val-2</td>
    <td>val-2</td>
  </tr>
</table>

标题-1
val-1
val-2
val-3
标题-1
val-2
val-2
val-3
标题2
val-1
val-2
val-2
此表中有3个ID相同的TR元素。我想删除除第一个TR之外的所有TR

如果不是重复ID,则此TR不会发生任何变化

我还需要:TR中的是3个td。结果必须是下一个。如果该值为同一组,则该td为:

<tr>
    <td>val-2</td>
    <td>val-2</td>
    <td>val-3</td>
</tr>

val-2
val-2
val-3
结果

<tr>
    <td colspan="2">val-2</td>
    <td>val-3</td>
</tr>

val-2
val-3
tnx

我更改了id>等级

$(".idxx:gt(0)").remove();

我做了一个函数来解析tr和td。请看这里:


请考虑编辑您的帖子,以添加更多关于您的代码的功能以及为什么它会解决问题的解释。一个只包含代码的答案(即使它有效)通常不会帮助其他人理解问题的解决方案。
var mapTable={
    _tr:function(){
        var tabletr =  $('table tr');
        var compareid = '';
        tabletr.each(function(){
            var id = $(this).attr('id');
            if(typeof id != 'undefined'){
                if(compareid == ''){
                    compareid = id;
                }else if(compareid == id){
                    $('#'+id).next().remove();
                    $('#'+id).remove();
                }
            }
        });
    },
    _td:function(){
        tabletr =  $('table tr');
        tabletr.each(function(){
            var tdtext = {"obj":"","txt":"","count":1};
            console.log($(this).find('th').text());
            $(this).find('td').each(function(){
                var td = $(this);
                if(tdtext.txt == ''){
                    tdtext.txt = td.text();
                    tdtext.obj = td;
                }else if(tdtext.txt == td.text()){
                    tdtext.count +=1;
                    td.hide();
                    td.addClass('todelete');
                }else{
                    //before to change
                    tdtext.obj.attr('colspan',tdtext.count);
                    //
                    tdtext = {"obj":td,"txt":td.text(),"count":1};
                }
            });
            if(tdtext.count > 1){
                tdtext.obj.attr('colspan',tdtext.count);
            }
            $('.todelete').remove();
        });
    },
    init(){
        mapTable._tr();
        mapTable._td();
    }
}