Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/04/2012, 02:36
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: ¿como detecto si estan todos los divs con display:none; ?

@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
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <style type="text/css">
  7. /*<![CDATA[*/
  8. #uno{
  9. display: none;
  10. }
  11. #dos{
  12. display: none;
  13. }
  14. /*]]>*/
  15. <script type="text/javascript">
  16. //<![CDATA[
  17. var divs = new Array();
  18. var n = 0;
  19. function obtenerEstilos(propiedad){
  20. var divs=document.getElementsByTagName('div');
  21. for (var i=0; i<divs.length; i++) {
  22. //alert(divs[i].id);
  23. var el=divs[i].id
  24. var x = document.getElementById(el);
  25. if(x != null){
  26. if (x.estiloActual){var y = x.estiloActual[propiedad];if(y == 'block'){n++;}
  27. }else if (window.getComputedStyle){
  28. var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(propiedad);
  29. if(y == 'block'){n++;}
  30. }
  31.  
  32. }
  33.  
  34. } // fin for
  35.  
  36. if(n>0){
  37. alert('no todos los divs están ocultos');
  38. }else{
  39. alert('todos los divs están ocultos');
  40. // ponemos el primero en block
  41. document.getElementById('uno').style.display= 'block';
  42. }
  43. }
  44. //]]>
  45. </head>
  46. <button onclick="obtenerEstilos('display');">Verificar divs</button>
  47. <div id="uno">
  48. ssss
  49. </div>
  50. <div id="dos">
  51. ssss
  52. </div>
  53. <div id="tres" style="display: none;">
  54. ssss
  55. </div>
  56. </body>
  57. </html>

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
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.