2012-08-23 21 views
0

我想比较类似于已经在这里做了概念两个HTML表: compare two html tables data line by line and highlight using jquery在表jQuery的亮点差异

除非我只需要知道是否有在要么不发生任何数据都。

到目前为止,我的解决方案一直是通过第一个表格,如果我在第二个表格中找到匹配项,请突出显示它。如果没有匹配,请在第一个表格中突出显示它。 (使用找到和未找到类)。

这是我的代码。选择器正在工作,但这些类似乎并不坚持。

$(document).ready(function(){ 
    $("#oldScript tr").each(function(){ 
     $('#newScript tr:contains('+ "" + this.innerHTML + "" + ')').addClass("found"); 
     if($('#newScript tr:contains('+ "" + this.innerHTML + "" + ')').length == 0){ 
      $(this).addClass("notFound"); 
      alert("Row not found \n" + $(this).innerHTML); 
     } 
    }); 
}); 
+0

你是什么意思,似乎不坚持? – Liam

+0

当我在Firefox中测试并使用Firebug时,有一段时间我会看到该类出现在td元素上,但不会发生更改。现在我甚至没有看到。 – user1574368

+0

这是范围问题吗?我是否无法从每个功能中访问真正的表格? – user1574368

回答

1

当您使用each最好是使用的参数在回调函数作为jQuery Docs定义。有一个小提琴会有帮助,但尝试这样的事情,而不是在循环内使用this(现在注意回调函数的参数)。

$(document).ready(function(){ 
    $("#oldScript tr").each(function(index, item) { 
     $('#newScript tr:contains('+ "" + item.innerHTML + "" + ')').addClass("found"); 
     if($('#newScript tr:contains('+ "" + item.innerHTML + "" + ')').length == 0){ 
      $(item).addClass("notFound"); 
      alert("Row not found \n" + item.innerHTML); 
     } 
    }); 
});