@quico5
Ateniéndonos a tu pregunta original
¿como detecto si estan todos los divs con display:none; ? y a
Cita: si todos los DIV hijos de BODY estan DISPLAY:NONE; entonces poner el primero a DISPLAY:BLOCK;
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> /*<![CDATA[*/
#uno{
display: none;
}
#dos{
display: none;
}
/*]]>*/
<script type="text/javascript"> //<![CDATA[
var divs = new Array();
var n = 0;
function obtenerEstilos(propiedad){
var divs=document.getElementsByTagName('div');
for (var i=0; i<divs.length; i++) {
//alert(divs[i].id);
var el=divs[i].id
var x = document.getElementById(el);
if(x != null){
if (x.estiloActual){var y = x.estiloActual[propiedad];if(y == 'block'){n++;}
}else if (window.getComputedStyle){
var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(propiedad);
if(y == 'block'){n++;}
}
}
} // fin for
if(n>0){
alert('no todos los divs están ocultos');
}else{
alert('todos los divs están ocultos');
// ponemos el primero en block
document.getElementById('uno').style.display= 'block';
}
}
//]]>
<button onclick="obtenerEstilos('display');">Verificar divs
</button> ssss
ssss
<div id="tres" style="display: none;"> ssss
LA condición necesaria es que todos tus divs tengan un id, la propiedad display puede estar definida inline, o en el css. Agregá Divs y cambiales el display para verificar.
De todas maneras no me queda muy claro porque querés hacer eso? quién o que va a cambiar la propiedad de los estilos?,
Saludos