Ocultando la columna Vacía en la tabla html usando jQuery .. no funciona: \

    $('table').each(function(a, tbl) { var currentTableRows = $(tbl).attr('rows').length - 1; $(tbl).find('th').each(function(i) { var remove = 0; var currentTable = $(this).parents('table'); var tds = currentTable.find('tr td:nth-child(' + (i + 1) + ')'); tds.each(function(j) { if (this.innerHTML == '') remove++; }); if (remove == currentTableRows) { $(this).hide(); tds.hide(); } }); });    
alaa
Column1Column2Column3Column4
1st1.1
2nd2.1
3rd3.11
4th

aquí está mi código … pensé que el problema de la biblioteca, así que probé muchas bibliotecas como jQuery 1.4.4, 1.5.2 y otras

Aquí está la prueba y funciona bien allí http://jsfiddle.net/nlovatt/JsLn8/

pero en mi archivo … no funciona …

Saludos,

Hay dos razones por las que su código no funciona.

1) Estás ejecutando el script inmediatamente después de cargar el HEAD , en esta etapa, tu tabla no existe y por lo tanto no hace nada. Para solucionar esto, asegúrese de ejecutarlo en la carga de página.

2) Cuando comparas el número de celdas en blanco en la columna con el número total de filas en la tabla , te falta el hecho de que la mayoría de tus columnas no tienen el mismo número de filas que la tabla (tu la primera fila tiene solo una columna de ancho). Necesita comparar el número de filas en la columna real, o mejor aún, simplemente haga lo contrario y busque columnas que no estén vacías.

El código completo se convierte en:

 $(document).ready(function() { $('table').each(function(a, tbl) { $(tbl).find('th').each(function(i) { var remove = true; var currentTable = $(this).parents('table'); var tds = currentTable.find('tr td:nth-child(' + (i + 1) + ')'); tds.each(function(j) { if (this.innerHTML != '') remove = false; }); if (remove) { $(this).hide(); tds.hide(); } }); }); }); 

pruébalo así

  $('#mytable tr th').each(function(i) { //select all td in this column var tds = $(this).parents('table') .find('tr td:nth-child(' + (i + 1) + ')'); //check if all the cells in this column are empty if(tds.length == tds.filter(':empty').length) { //hide header $(this).hide(); //hide cells tds.hide(); } }); 

para ocultar columnas en la tabla si todas las celdas en la columna están vacías