2012-09-24 23 views
5

Herkes JQuery'de bana yardımcı olabilir mi? Sitemde leftTable ve rightTable iki sütun var aynı sütun adları. leftTable Bir DB'den veriyorum, ancak rightTable sadece bazı satırlar içeriyor. leftTablerightTable'da bulunan satırları göstermemek (veya kaldırmak).İki tablo satırını karşılaştırın ve eşleşme varsa kaldırın

$("#tableLeft tr").each(function(){ 
    if($(this).find("td")[0].innerHTML == $("#tableRight tr").find("td")[0].innerHTML) 
    { 
     $(this).remove; 
    } 
}); 
+0

. Aşağıdaki jQuery işlevleri ile ilgili bilgileri arayın: html() - seçilen her eleman için her bir() - elemanın html'sini verir, belirli bir işlevi yürütür, remove() - seçilen öğeyi siler. – gotqn

cevap

2

Ben böyle bir şey olduğunu varsayalım: kimliğine sahip tablodan satırları kaldırmak için

<table id="T1"> 

    <tr><td>111</td></tr> 
    <tr><td>222</td></tr> 
    <tr><td>333</td></tr> 

</table> 


<table id="T2"> 

    <tr><td>444</td></tr> 
    <tr><td>111</td></tr> 
    <tr><td>333</td></tr> 

</table> 

= "T2" Böyle bir şey yapabilirsiniz: Bu zor bir şey yoktur

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

    var currentRowHTML=$(this).html(); 

    $('#T2 tr').each(function(){ 
     if($(this).html()===currentRowHTML){ 
      $(this).remove(); 
     } 
    }); 
}); 
2

Sadece bir fikir

$(function(){ 
    $('#btn').on('click', function(e){ 
     $('#right_table tbody tr').each(function(){ 
      var row=$(this).html(); 
      $('#left_table tbody tr').each(function(){ 
       if(row==$(this).html()) $(this).remove(); 
      }); 
     }); 
    }); 
});​ 

DEMO:

Bunu Tryed.

Zaten herhangi bir kod (HTML) sağlamadığınız için bir fikirden bahsetmiştim. Bu nedenle, her iki tablonun da varsa, satırlarda aynı (sınıf/kimlik) olması gerektiğini unutmayın.

İlgili konular