Blog Agencia Web

Mostrar Y Ocultar Filas Con Javascript

icon timeRicardo Aroca | 04 de julio de 2006 | icon comment9 comentarios

Esta técnica permite mostrar y ocultar filas de una tabla, para poder, por ejemplo,entregar mayor información a nuestros usuarios.

A continuación se muestra una función en Javascript que muestra y oculta una fila, dependiendo del estado actual de la misma.

function cambiarDisplay(id) {
  if (!document.getElementById) return false;
  fila = document.getElementById(id);
  if (fila.style.display != "none") {
    fila.style.display = "none"; //ocultar fila
  } else {
    fila.style.display = ""; //mostrar fila
  }
}

Si la fila está visible, entonces al llamar a la función, la fila será ocultada y viceversa. Lo que hace la función es cambiar la propiedad display del elemento. Para ocultarlo, establece su valor a none y para mostrarlo establece su valor a una cadena vacía. este punto es importante porque permite a cada navegador ocupar el valor por defecto para esa propiedad (Firefox usa "table-row", Internet Explorer y Opera usan "block").

Veamos un ejemplo de su aplicación. El siguiente código muestra una tabla con 2 filas. La primera corresponde a un título y la segunda una descripción en detalle. Al hacer clic en el título, se muestra la fila de detalle.

<table>
  <tr id="row1" onClick="cambiarDisplay('row2')">
   <td><strong> Televisores de LCD, Pantalla de Cristal L&iacute;quido</strong> (Stock: 90 unidades ) </td>
  </tr>
  <tr id="row2" onClick="cambiarDisplay('row2')" style="display:none">
   <td>Los Televisores de LCD brindan la m&aacute;s alta calidad de im&aacute;gen dentro de la gama de modelos de pantallas planas, lo que los convierte en una excelente opci&oacute;n para los m&aacute;s exquisitos. </td>
  </tr>
</table>

Como se puede apreciar cada fila tiene establecido un identificador. La segunda fila está oculta por defecto a través de la propiedad style.

Para que la función trabaje correctamente el navegador debe manejar DOM. El script ha sido probado en Firefox 1.5, Internet Explorer 5.0 y superior y Opera 9. Si encuentras problemas en otros navegadores por favor hazlo saber en los comentarios.

Comentarios

gravatar

1 El 21 de agosto de 2006 Sebastián escribió

Necesito algo similar, pero para ocultar un conjunto de filas de una vez (o sea, todas bajo el mismo id). Probe encerrando ese conjunto de filas entre y pero no funciona para tablas.

gravatar

2 El 21 de agosto de 2006 Sebastián escribió

Para el webmaster de esta página:
Si este es un blog de diseño web deberia esperarse q los participantes ingresen etiquetas HTML (en el comentario anterior quise poner DIV y no aparecio). Si querés evitar ataques de XSS no remuevas la etiqueta entera, simplemente reemplaza por & g t; y & l t; (sin los espacios).

gravatar

3 El 27 de abril de 2007 Jorge escribió

Gracias, sencillo y practico el ejemplo.

gravatar

4 El 29 de octubre de 2007 Jorge Avila escribió

hola, yo también estoy interesado en un problema parecido al de Sebastián, si podés por favor publicar un tuto para una situación así =)

gravatar

5 El 03 de julio de 2008 Piurano escribió

Muy práctico, y para guardarlo en cocckies y no volver a presionarlo?

gravatar

6 El 07 de julio de 2008 Darcon escribió

Gracias sirvio para aclarar mis dudas :D

gravatar

7 El 28 de junio de 2010 Mauro escribió

Hola, tengo un problema...
Cuando lo asigno en vez de un tr a un Impresora
Asi, no funciona en IE, solo en Firefox.

gravatar

8 El 11 de julio de 2010 Carlos Arboleda escribió

Gracias hace rato estaba intentando y nada, pero con tu función fue de una! Gracias...

gravatar

9 El 06 de agosto de 2010 Humberto escribió

Excelente aporte. Limpio y directo!!!
Gracias

Comentar

Los campos con asterisco * son obligatorios.

No se mostrará publicamente

Escribe la dirección sin http://


Etiquetas permitidas: a,strong, em, cite, blockquote, pre, code.

Opciones

Categorias

Suscribirse

Reciba automáticamente en su lector RSS las últimas publicaciones del blog.

Selección de Blogs

Publicidad

Contrata Planes Hostagator haciendo Clic Aquí

Agencia Web utiliza Hostgator para todos sus proyectos. Si quieres saber por qué, haz clic aquí.


Servicios