Saltar al contenido

Mostrar / ocultar ‘div’ usando JavaScript

Indagamos en diferentes foros y así tenerte la solución a tu inquietud, en caso de alguna difcultad puedes dejarnos la inquietud y responderemos con mucho gusto, porque estamos para servirte.

Solución:

Cómo mostrar u ocultar un elemento:

Para mostrar u ocultar un elemento, manipule la propiedad de estilo del elemento. En la mayoría de los casos, probablemente solo desee cambiar la display propiedad:

element.style.display = 'none';           // Hide
element.style.display = 'block';          // Show
element.style.display = 'inline';         // Show
element.style.display = 'inline-block';   // Show

Alternativamente, si aún desea que el elemento ocupe espacio (como si fuera a ocultar una celda de la tabla), puede cambiar el elemento visibility propiedad en su lugar:

element.style.visibility = 'hidden';      // Hide
element.style.visibility = 'visible';     // Show

Ocultar una colección de elementos:

Si desea ocultar una colección de elementos, simplemente iterar sobre cada elemento y cambiar el elemento display a none:

function hide (elements) 
  elements = elements.length ? elements : [elements];
  for (var index = 0; index < elements.length; index++) 
    elements[index].style.display = 'none';
  

// Usage:
hide(document.querySelectorAll('.target'));
hide(document.querySelector('.target'));
hide(document.getElementById('target'));

hide(document.querySelectorAll('.target'));

function hide (elements) 
  elements = elements.length ? elements : [elements];
  for (var index = 0; index < elements.length; index++) 
    elements[index].style.display = 'none';
  
This div will be hidden.
This span will be hidden as well.

Mostrando una colección de elementos:

La mayoría de las veces, probablemente solo alternará entre display: none y display: block, lo que significa que lo siguiente mayo será suficiente cuando se muestre una colección de elementos.

Opcionalmente, puede especificar el display como segundo argumento si no quiere que sea predeterminado block.

function show (elements, specifiedDisplay) 
  elements = elements.length ? elements : [elements];
  for (var index = 0; index < elements.length; index++) 

// Usage:
var elements = document.querySelectorAll('.target');
show(elements);

show(elements, 'inline-block'); // The second param allows you to specify a display value

var elements = document.querySelectorAll('.target');

show(elements, 'inline-block'); // The second param allows you to specify a display value

show(document.getElementById('hidden-input'));

function show (elements, specifiedDisplay) 
  elements = elements.length ? elements : [elements];
  for (var index = 0; index < elements.length; index++)  'block';
  


Inline span..

Alternativamente, un mejor enfoque para mostrar el (los) elemento (s) sería simplemente eliminar el display estilo para revertirlo a su estado inicial. Luego verifique el calculado display estilo del elemento para determinar si está oculto por una regla en cascada. Si es así, muestre el elemento.

function show (elements, specifiedDisplay) 
  var computedDisplay, element, index;

  elements = elements.length ? elements : [elements];
  for (index = 0; index < elements.length; index++) 
    element = elements[index];

    // Remove the element's inline display styling
    element.style.display = '';
    computedDisplay = window.getComputedStyle(element, null).getPropertyValue('display');

    if (computedDisplay === 'none') 
        element.style.display = specifiedDisplay 
  

show(document.querySelectorAll('.target'));

function show (elements, specifiedDisplay) 
  var computedDisplay, element, index;

  elements = elements.length ? elements : [elements];
  for (index = 0; index < elements.length; index++) 
    element = elements[index];

    // Remove the element's inline display styling
    element.style.display = '';
    computedDisplay = window.getComputedStyle(element, null).getPropertyValue('display');

    if (computedDisplay === 'none')  'block';
    
  






(Si desea ir un paso más allá, incluso podría imitar lo que hace jQuery y determinar el estilo del navegador predeterminado del elemento agregando el elemento a un espacio en blanco iframe (sin una hoja de estilo en conflicto) y luego recupere el estilo calculado. Al hacerlo, sabrá el true inicial display valor de propiedad del elemento y no tendrá que codificar un valor para obtener los resultados deseados).

Alternar la pantalla:

Del mismo modo, si desea alternar el display de un elemento o colección de elementos, simplemente puede iterar sobre cada elemento y determinar si es visible verificando el valor calculado de la display propiedad. Si es visible, configure el display a none, de lo contrario, elimine la línea display estilo, y si todavía está oculto, configure el display al valor especificado o al valor predeterminado codificado, block.

function toggle (elements, specifiedDisplay) 
  var element, index;

  elements = elements.length ? elements : [elements];
  for (index = 0; index < elements.length; index++) 
    element = elements[index];

    if (isElementHidden(element)) 
      element.style.display = '';

      // If the element is still hidden after removing the inline display
      if (isElementHidden(element)) 
        element.style.display = specifiedDisplay 
     else 
      element.style.display = 'none';
    
  
  function isElementHidden (element) 
    return window.getComputedStyle(element, null).getPropertyValue('display') === 'none';
  

// Usage:
document.getElementById('toggle-button').addEventListener('click', function () 
  toggle(document.querySelectorAll('.target'));
);

document.getElementById('toggle-button').addEventListener('click', function () 
    toggle(document.querySelectorAll('.target'));
);

function toggle (elements, specifiedDisplay) 
  var element, index;

  elements = elements.length ? elements : [elements];
  for (index = 0; index < elements.length; index++) 
    element = elements[index];

    if (isElementHidden(element)) 
      element.style.display = '';

      // If the element is still hidden after removing the inline display
      if (isElementHidden(element)) 
        element.style.display = specifiedDisplay 
     else 
      element.style.display = 'none';
    
  
  function isElementHidden (element) 
    return window.getComputedStyle(element, null).getPropertyValue('display') === 'none';
  
.target  display: none; 


Toggle the span.

Toggle the div.

También puede utilizar el marco de JavaScript jQuery:

Para ocultar el bloque div

$(".divIDClass").hide();

Para mostrar Div Block

$(".divIDClass").show();

Simplemente puede manipular el estilo del div en cuestión ...

document.getElementById('target').style.display = 'none';

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *