2017-05-08 22 views
0

样本HTML来删除重复的td标签值:从HTML如何使用JS或jquery的

<tbody> 
    <tr> 
     <th style="width: 65%;">FD Name</th> 
     <th style="width:35%;">PDF</th> 
    </tr> 
    <tr> 
     <td>NT BT Small Cap FD</td> 
     <td> 
      <div> 
       <a target="_self" onclick="window.open('URL/2509-pqr-statement.pdf'); return false;">ST</a> (55 kb)</div> 
     </td> 
    </tr> <tr> 
     <td>NT GB GT FD</td> 
     <td> 
      <div> 
       <a target="_self" onclick="window.open('URL/12111-pqr-statement.pdf'); return false;">ST</a> (61 kb)</div> 
     </td> 
    </tr> <tr> 
     <td>NT GB GT FD</td> 
     <td> 
      <div> 
       <a target="_self" onclick="window.open('URL/12111-pqr-statement.pdf'); return false;">ST</a> (61 kb)</div> 
     </td> 
    </tr> <tr> 
     <td>NT Mutual GB Discovery FD</td> 
     <td> 
      <div> 
       <a target="_self" onclick="window.open('URL/4684-pqr-statement.pdf'); return false;">ST</a> (69 kb)</div> 
     </td> 
    </tr> <tr> 
     <td>NT Mutual GB Discovery FD</td> 
     <td> 
      <div> 
       <a target="_self" onclick="window.open('URL/4684-pqr-statement.pdf'); return false;">ST</a> (69 kb)</div> 
     </td> 
    </tr> 
</tbody> 

如何删除重复值TD例如NT GB GT FD,NT相互GB发现FD被复制。 使用JS/jQuery的任何指针或想法?

+0

比较单元格的数据,如果两者相等,则删除第二个实例? – dommmm

+0

你问关于重复*行*或重复*单元*? – nnnnnn

回答

0

duplicate删除行是每个trfirst td child映射的对象。如果这些孩子从未在对象内部看到过,那么duplicate会保留它。在另一方面,如果这些孩子都已经内duplicate,那么我们将删除此td.parent(),这是其tr

var duplicate = {}; 

$('tr td:first-child').each (function() { 
    var fdName = $(this).html() 

    if (duplicate.hasOwnProperty(fdName)) { 
     $(this).parent().remove(); 
    } else { 
     duplicate[fdName] = 'true'; 
    } 
}); 

工作的jsfiddle:https://jsfiddle.net/hdvhtse0/1/

+0

您是否看到以下方法代码的任何问题---> var seen = {}; 。 $( '表TR')每个(函数(){ 变种的txt = $(本)的.text();如果 (见于[TXT]) $(本)卸下摆臂(); 别的 看出[txt] = true; }); – user3669116

0

沿着每一行向下走时,使用一个对象来存储查找的文本。如果文本已经看到

var textLookup={}; 

$('#my-table tbody tr:gt(0)').each(function(){ 
    var $row = $(this), 
     targetText = $row.find('td:first').text().trim(); 
     // may want to make sure the text isn't empty string also?? 
     if(textLookup[targetText]){ 
      $row.remove() 
     } 
     textLookup[targetText]=true; 
}); 

DEMO

+0

您是否看到以下方法代码存在任何问题---> var seen = {}; $('table tr')。each(function(){var txt = $(this).text(); if(seen [txt])$(this).remove(); else seen [txt] = true; }); – user3669116

相关问题