No anda porque le falta una vuelta. Y un detalle de CSS.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<title></title>
<script type="text/javascript">
function borra() {
var cual = prompt("Cuál?.","2")
var fila = document.getElementById('tabla1').getElementsByTagName('tr');
var columnas = fila[0].getElementsByTagName('td').length;
//alert(fila.length+" "+columnas)
for(f=0; f<fila.length; f++) {
for(c=0; c<columnas; c++) { //alert(c)
if (c == cual) {fila[f].getElementsByTagName('td')[c].className = "oculta";}
else {fila[f].getElementsByTagName('td')[c].className = "muestra";}
}
}
}
</script>
<style type="text/css">
.oculta {display: none}
.muestra {display: table-cell}
</style>
</head>
<body>
<h2>Oculta una de tres columnas.</h2>
<input type=button value="Borra Columna" onclick=borra()>
<table border=1 id=tabla1><tbody><tr>
<td > 0 </td><td> 1 </td><td> 2 </td><td> 3 </td>
</tr><tr>
<td i> ALFA </td><td> BRAVO </td><td> CHARLY </td><td> DELTA </td>
</tr><tr>
<td > alfa </td><td > bravo </td><td > charly </td><td > delta </td>
</tr></tbody></table>
</body>
</html>
No pongo el
onload porque con eso supongo que no hay problema.
Este ejemplo borra una sola columna; porque son más de la una de la mañana y no me acuerdo cómo se hace para que el bucle
for revise varias coincidencias.
(Sí, ya sé que si pongo
Código:
for (alfa == bravo || alfa == charly || alfa == delta)
lo hace, pero seguro hay un método más fácil, como meterle un
array, o una expresión regular)