Quiero crear la función if, pero quiero poner en la condición if un valor de estilo, por ejemplo:

const hello;

if (hello has display none) {
     do something
}

¿Cómo puedo obtenerlo?

-1
Simon 13 jun. 2020 a las 19:31

5 respuestas

La mejor respuesta

Primero if no es una función, luego debe encontrar el elemento DOM que necesita verificar (por ejemplo con const element = document.getElementById('<ELEMENT-ID>');) y luego puede acceder al estilo del elemento de esta manera: {{X2 }}.

Así que:

<!-- html file-->
<div id="element-to-check">
    ...
</div>
// js code
const element = document.getElementById('element-to-check');
// To check inline style
if (element.style.display === 'none') {
   // do what you need
}

// to check css style
if (getComputedStyle(element).display === 'none') {
   // do what you need
}

Una sugerencia: intente utilizar nombres de variables más descriptivos en lugar de hello, también en el código que escriba para pedir ayuda en este sitio.

0
Raffaele 13 jun. 2020 a las 17:49

Una forma de hacerlo ...

if (document.getElementById("1").style.getPropertyValue("display")==="none"){
// do something
console.log(true);
}else{
console.log(false);
};


if (document.getElementById("2").style.getPropertyValue("display")==="none"){
// do something
console.log(true);
}else{
console.log(false);
};
<div id="1" style="display:none">TEST display1</div>
<div id="2">TEST display2</div>
0
ikiK 13 jun. 2020 a las 17:11

Lo que quieres hacer es algo como esto:

var div = document.getElementById('foo');

if(div.style.display === 'none'){
  alert('hello')
}else{
  // Do something else
}
<div id="foo" style="display:none">

</div>
0
ABGR 13 jun. 2020 a las 16:55

Todo eso funciona si especificas elementos en js no en css. Gracias

0
Simon 13 jun. 2020 a las 17:43

Puede acceder al estilo del elemento DOM utilizando la propiedad style.

const hello = document.getElementById('elementId');

if (hello.style.display === 'none') {
  // do something
}
0
Ran 13 jun. 2020 a las 16:53