Pouvez-vous faire quelque chose comme
function showDiv()
{
[DIV].visible = true;
//or something
}
si [DIV] est un élément alors
[DIV].style.visibility='visible'
OR
[DIV].style.visibility='hidden'
Supposons que vous n'utilisez pas une bibliothèque telle que jQuery.
Si vous n'avez pas déjà une référence à l'élément DOM, obtenez-en une en utilisant var elem = document.getElementById('id');
Ensuite, vous pouvez définir n’importe quelle propriété CSS de cet élément. Pour afficher/masquer, vous pouvez utiliser deux propriétés: display
et visibility
, qui ont des effets légèrement différents:
Ajuster style.display
donnera l’impression que l’élément n’est pas présent du tout ("enlevé").
elem.style.display = 'none'; // hide
elem.style.display = 'block'; // show - use this for block elements (div, p)
elem.style.display = 'inline'; // show - use this for inline elements (span, a)
ou style.visibility
fera que la div sera toujours là, mais sera "tout vide" ou "tout blanc"
elem.style.visibility = 'hidden'; // hide, but lets the element keep its size
elem.style.visibility = 'visible';
Si vous utilisez jQuery, vous pouvez le faire encore plus facilement si vous souhaitez définir la propriété display
:
$(elem).hide();
$(elem).show();
Il utilisera automatiquement la valeur display
appropriée; vous n'avez pas à vous soucier du type d'élément (inline ou block). De plus, elem
peut non seulement être un élément DOM, mais également un sélecteur tel que #id
ou .class
ou tout autre élément valide CSS3 (et plus!).
Vous pouvez utiliser visibility
ou display
mais vous devez appliquer les modifications à l'objet div.style
et non à l'objet div
.
var div = document.getElementById('div_id');
// hide
div.style.visibility = 'hidden';
// OR
div.style.display = 'none';
// show
div.style.visibility = 'visible';
// OR
div.style.display = 'block';
Vous pouvez utiliser les fonctions DOM: setAttribute et removeAttribute . Dans le lien suivant, vous trouverez un exemple d'utilisation.
setAttribute et removeAttribute fonctions
Un aperçu rapide:
hide: document.getElementById("myDiv").setAttribute("hidden","");
unhide: document.getElementById("myDiv").removeAttribute("hidden");
Utilisez l'attribut 'caché' de l'élément DOM:
function showDiv(isVisible)
{
[DIV].hidden = !isVisible;
}
Votre fonction showDiv()
peut ressembler à ceci (je change son nom en un nom plus universel):
function show(element, hide = false) {
element.style.visibility = hide ? 'hidden' : 'visible';
}
Et utilisez-le comme suit (le ".test"
doit valider sélecteur CSS pour votre DIV)
let div = document.querySelector(".test");
show(div, true);
Voici exemple de travail .