2012-08-23 61 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); 
     } 
    }); 
});