Foros del Web » Programando para Internet » Javascript »

Recorrer elementos div

Estas en el tema de Recorrer elementos div en el foro de Javascript en Foros del Web. Buenas tengo este code para que cuando se muestre un div se oculten los demás: Código: <script language="javascript"> function mostrar(num){ if (document.getElementById('div'+num).style.display=='inline') { document.getElementById('div'+num).style.display='none'; } ...
  #1 (permalink)  
Antiguo 23/11/2005, 06:00
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Recorrer elementos div

Buenas tengo este code para que cuando se muestre un div se oculten los demás:

Código:
<script language="javascript">
function mostrar(num){
if (document.getElementById('div'+num).style.display=='inline')
{
  document.getElementById('div'+num).style.display='none';
} 
else
{
  document.getElementById('div'+num).style.display='inline';
  for (i=0;ele=document.Form1.elements[i];i++)
  {
    if(ele.name.indexOf('div') != -1)
      {
        ele.style.display='none';
      }
  }
}
}
</script>
El problema es que me recorre todos los elementos menos los div (que exactamente lo que yo necesito). ¿como puedo hacer para que tenga estos también en cuenta??

Muchas gracias.
  #2 (permalink)  
Antiguo 23/11/2005, 08:51
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
porque no lo haces con document.getElementsByTagName("div") ?
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #3 (permalink)  
Antiguo 23/11/2005, 09:11
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
holas, parece que coincidimos nuevamente , amigo Saruman.


sería mas o menos así:
Cita:
function mostrar(num){
capas=document.getElementsByTagName('div');
for (i=0;i<capas.length;i++){
if(capas[i].id.indexOf('div') != -1){
capas[i].style.display='none';
}
}
if(document.getElementById('div'+num)){
document.getElementById('div'+num).style.display=' inline';
}else{
alert("la capa numero "+num+" no existe");
}
}
oculta todas las capas que tengan como ID="div" mas un número(comenzando de cero).

espero te sea útil
__________________
by Capitán Buscapina
.
  #4 (permalink)  
Antiguo 23/11/2005, 09:13
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
Cita:
Iniciado por Cap.Buscapina
holas, parece que coincidimos nuevamente , amigo Saruman.
así es amigo Cap.Buscapina
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #5 (permalink)  
Antiguo 23/11/2005, 10:10
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Es perfecto, lo único que ya no hago la comprobación de div+num puesto que todos los div son así en esta page. Muchísimas gracias a ambos.

PD. No conocía el getElementsByTagName, (nunca te acostarás sin aprender algo nuevo)
  #6 (permalink)  
Antiguo 23/11/2005, 16:35
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
Cita:
Iniciado por Jose_minglein2
... (nunca te acostarás sin aprender algo nuevo)
justo para mi firma
__________________
by Capitán Buscapina
.
  #7 (permalink)  
Antiguo 24/11/2005, 02:18
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Solo una cosa más en IE (si si ya se que no se debe usar, pero es lo que usan mis clientes), me marca un error :
capas[...].style es nulo o no es un objeto.

Sin embargo me funciona de forma correcta la funcion. Así quedo:

Código:
<script language="javascript">
function mostrarremesas(num){
if (document.getElementById('div'+num).style.display=='inline'){
document.getElementById('div'+num).style.display='none';
}
else
{
capas=document.getElementsByTagName('div');
for (i=0;capas.length;i++){
capas[i].style.display='none';document.getElementById('div'+num).style.display='inline';
document.location.href='#div'+num;
}
}}
</script>
¿porque puede ser??

Muchas gracias.
  #8 (permalink)  
Antiguo 24/11/2005, 10:01
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
fijate si el número que contiene el id (id="div1") deben comenzar del 0 y no deben salterse.
__________________
by Capitán Buscapina
.
  #9 (permalink)  
Antiguo 28/02/2016, 19:24
 
Fecha de Ingreso: febrero-2016
Ubicación: Corrientes
Mensajes: 2
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Recorrer elementos div

Buenas, estoy algo perdida con este tema, tengo problema similar.. quiero recorrer un radiobutton generado con js, y lo muestro con php con la etiqueta div, el tema es que a la hora de elegir un valor del radio button para poder guardarlo en una base de datos, no se como lograrlo.


function MostrarHorasDisponibles(fechaSeleccionada) {

var f = fechaSeleccionada;
var fecha = f.split("/");
document.getElementById("ListaHorarios").innerHTML = "";
for (var i = 0; i < Dias.length; i++) {

if (Dias[i].Anio == fecha[2] && Dias[i].Mes == fecha[0] && Dias[i].Dia == fecha[1] ) {

var cbh = document.getElementById('ListaHorarios');
var val = Dias[i];
var cap = Dias[i].Hora;
var cb = document.createElement('input');
cb.type = 'radio';
cbh.appendChild(cb);
cb.name = val;
cb.value = cap;
document.getElementById('Fecha').innerHTML = "Los horarios disponibles para la fecha "+ fecha[1] + "/" + fecha[0] + "/" + fecha[2] + " son: ";
cbh.appendChild(document.createTextNode(cap));

}
}


};

y asi lo llamo desde php

echo "<div id='ListaHorarios'></div>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 17:24.