Cita:
Iniciado por txels
Yo mejor que display usaría una propiedad mas antigua y que funcoina en todos los navegadores: visibility
así quedaría:
<table class="tblgestion">
<!-- Esta fila sale oculta -->
<tr id="filaoculta" style="visibility:hidden;">
<!-- Celdas y más celdas... -->
</tr>
</table>
<a href="" onclick="Muestra(idTabla)">Mostrar</a>
<script language="javascript" type="text/javascript">
function Muestra(idTabla){
document.getElementById(idTabla).style.visibility = "visible";
}
</script>
se que no es lo mismo, pues deja el hueco que ocupa, pero te podría valer...
Hola:
Gracias por la respuesta. Esta vez funciona en ambos navegadores (IE y Firefox); pero... Ya lo dijiste, deja un hueco en el lugar donde cae la celda, y la verdad no se ve bien.
Estuve haciendo pruebas y me topé con esto: Cambié el código del enlace:
Código HTML:
<a href="" onclick="mostrarFiltros(); return false">Mostrar</a>
y definí mi función mostrarFiltros() así (OJO con los números de línea que pongo):
Código HTML:
<script type="text/javascript">
function mostrarFiltros()
{
var filtro = document.getElementById('filafiltros').style.display; // 1
filtro = filtro == 'none' ? 'table-row' : 'none'; // 2
document.getElementById('filafiltros').style.display = filtro; // 3
}
</script>
El código es exactamente el mismo, sólo cambia la estructura, y evidentemente sigue fallando en IE7. Pero lo curioso es que el mensaje de error sobre la propiedad display sale en la linea 3 (o sea que en la línea 1 IE7 SÍ reconoce el display pero en la línea 3 NO la reconoce). ¿Es acaso display de sólo lectura en IE7?
¿Hay alguna otra solución?