jQuery:从表中选择相同的数字
我从MYSQL加载了这个HTML表,每一行都是这样编写的:
02/05/2015 89.30.86.72.65 30/04/2015 56.11.73.36.13
每行都有一个类’bari’后跟一个id(1到15)。
这是结果:
通过jQuery我从最后两行创建了一个数字数组,因此数组现在由以下组成: ["9", "1", "43", "79", "28", "40", "16", "6"]
(删除了重复的数字)。
我必须找到并突出显示其他列中的重复数字。
所以我这样做了:
function highlightNumbers(){ var due_serie = $('.bari15').html().split('.').concat($('.bari14').html().split('.')); //Rimuovo i doppioni var serieCompleta = []; $.each(due_serie, function(i, el){ if($.inArray(el, serieCompleta) === -1) serieCompleta.push(el); }); //Ottengo dati var ba13 = $('.bari13').html().split('.'); $('.bari13').html(''); var found = 0; for(i = 0; i<= ba13.length-1; i++){ for(n = 0; n<= serieCompleta.length-1; n++){ if(ba13[i] == serieCompleta[n]){ $('.bari13').append(''+ba13[i]+'.'); found = ba13[i]; } } if(ba13[i] != found){ $('.bari13').append(ba13[i]+'.'); } } }
使用这段代码,我突出显示第13行中的数字,但我想不出一个for循环来完成整个表(15行)。
试试这个,
我已经更新了您自己的代码,以便您可以轻松地理解它。
function highlightNumbers(){ var all= $("td[class*=bari]"); var index = all.length-1; var due_serie = $(all[index]).html().split('.').concat($(all[index-1]).html().split('.')); //Rimuovo i doppioni var serieCompleta = []; $.each(due_serie, function(i, el){ if($.inArray(el, serieCompleta) === -1) serieCompleta.push(el); }); //Ottengo dati for(var s=0;s'+barnum[i]+'.'); found = barnum[i]; } } if(barnum[i] != found) { bar.append(barnum[i]+'.'); } } } } highlightNumbers();
02/05/2015 89.10.86.30.65 30/04/2015 96.11.73.36.13 02/05/2015 78.34.50.72.11 30/04/2015 34.78.69.60.22 02/05/2015 12.29.30.69.33 30/04/2015 59.10.20.96.44
我认为您可以使用$ .inArray()函数,仅选择包含数组中任何数字的行。