在表jquery中的选定行上查找重复值

时间:2015-10-31 19:11:25

标签: jquery

我的HTML中有一个表格,

<table>
        <tr><td>1</td><td>2</td><td>3</td></tr>
        <tr><td>a</td><td>2</td><td>c</td></tr>
        <tr><td>x</td><td>2</td><td>3</td></tr>
        <tr><td>1</td><td>2</td><td>3</td></tr>
    </table>

我想在第一个和第二个<td>元素内容中找到重复的内容。

这是我到目前为止所得到的:

$(function() {
        $("table tr").each(function() {

        });
    });

我坚持选择第一个和第二个元素并进行比较。我只是添加一个类或使用jquery选择器吗?

2 个答案:

答案 0 :(得分:2)

如果我理解的话,这就是你在列中找到重复项的方法。

如果要删除它,可以使用.addClass.remove()代替。

http://jsbin.com/wenuwewide/edit?js,console,output

  $('tr').each(function() {

      $(this).find('td').each(function(i) {

        if(values[i].indexOf($(this).text()) > -1) {
          $(this).addClass('duplicate');
        }

        values[i].push($(this).text());          
      });

    });

答案 1 :(得分:2)

只将前两个值的组合存储为对象

中的属性
$(function() {
   var el = {};
   $("table tr").each(function() {
        // get row
        var row = $(this);
        // get first and second td
        var first = row.find('td:first-child').val();
        var second = row.find('td:nth-child(2)').val();
        // if exists, remove the tr
        if(el[first + second]) {
            $(this).remove())
        }
        else {
            // if it does not exist, add it with some random val
            el[first + second] = 1;
        }
   });
});