Foros del Web » Programando para Internet » Javascript »

Problema al borrar divs dinamicamente

Estas en el tema de Problema al borrar divs dinamicamente en el foro de Javascript en Foros del Web. Estoy intentando borrar un número desconocido de divs cuyos id empiecen por Box_ excepto uno llamado Box_0 . En el codigo que he puesto estan ...
  #1 (permalink)  
Antiguo 27/07/2010, 15:20
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 20 años, 11 meses
Puntos: 0
Pregunta Problema al borrar divs dinamicamente

Estoy intentando borrar un número desconocido de divs cuyos id empiecen por Box_ excepto uno llamado Box_0.

En el codigo que he puesto estan como valores seleccionados:

Box_0 = A
Box_1 = B
Box_2 = C
Box_3 = D
Box_4 = E
Box_5 = F

El problema es que solo se borran aquellos que he puesto de color verde, pero quisiera que se borraran tambien los que he puesto de color rojo. ¿Que estoy haciendo mal?


<script language="javascript">
function BorrarBOX(){
capas=document.getElementsByTagName('div');
for (i=0;i<capas.length;i++){
if(capas[i].id.indexOf('Box_') != -1){

if((capas[i].id)!='Box_0'){ //Para que no borre el 'Box_0'

capas[i].parentNode.removeChild(capas[i]);
}

}
}
}
</script>


<FORM name="formulario" action="pagina.html" method="post">
<DIV style='WIDTH: 365px' id='BoxContenedor'>
<DIV id='Box_0'>
<DIV style='WIDTH: 100%'>
<SELECT name='despegable0'><OPTION value='1' selected='selected'>A</OPTION><OPTION value='2'>B</OPTION><OPTION value='3'>C</OPTION><OPTION value='4'>D</OPTION><OPTION value='5'>E</OPTION><OPTION value='6'>F</OPTION></SELECT>
</DIV>
</DIV>
<DIV id='Box_1'>
<DIV style='WIDTH: 100%'>
<SELECT id='despegable2'><OPTION value='1'>A</OPTION><OPTION value='2'>B</OPTION><OPTION value='3' selected='selected'>C</OPTION><OPTION value='4'>D</OPTION><OPTION value='5'>E</OPTION><OPTION value='6'>F</OPTION></SELECT>
</DIV>
</DIV>
<DIV id='Box_2'>
<DIV style='WIDTH: 100%'>
<SELECT id='despegable2'><OPTION value='1'>A</OPTION><OPTION value='2'>B</OPTION><OPTION value='3' selected='selected'>C</OPTION><OPTION value='4'>D</OPTION><OPTION value='5'>E</OPTION><OPTION value='6'>F</OPTION></SELECT>
</DIV>
</DIV>
<DIV id='Box_3'>
<DIV style='WIDTH: 100%'>
<SELECT id='despegable3'><OPTION value='1'>A</OPTION><OPTION value='2'>B</OPTION><OPTION value='3'>C</OPTION><OPTION value='4' selected='selected'>D</OPTION><OPTION value='5'>E</OPTION><OPTION value='6'>F</OPTION></SELECT>
</DIV>
</DIV>
<DIV id='Box_4'>
<DIV style='WIDTH: 100%'>
<SELECT id='despegable4'><OPTION value='1'>A</OPTION><OPTION value='2'>B</OPTION><OPTION value='3'>C</OPTION><OPTION value='4'>D</OPTION><OPTION value='5' selected='selected'>E</OPTION><OPTION value='6'>F</OPTION></SELECT>
</DIV>
</DIV>
<DIV id='Box_5'>
<DIV style='WIDTH: 100%'>
<SELECT id='despegable5'><OPTION value='1'>A</OPTION><OPTION value='2'>B</OPTION><OPTION value='3'>C</OPTION><OPTION value='4'>D</OPTION><OPTION value='5'>E</OPTION><OPTION value='6' selected='selected'>F</OPTION></SELECT>
</DIV>
</DIV>
</DIV>
</FORM>
<br />
<a href="javascript:void(0);" onClick="BorrarBOX();">Borrar BOXES()</a>

Última edición por sqa212; 27/07/2010 a las 15:50
  #2 (permalink)  
Antiguo 27/07/2010, 15:25
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Problema al borrar divs dinamicamente

un tema similar http://www.forosdelweb.com/showthread.php?t=809045, lo unico que en tu caso tienes que adaptarlo un poco para que no borre los elementos que deseas dejar.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 27/07/2010, 15:28
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Problema al borrar divs dinamicamente

No sé por qué sólo te borra algunos, pero todos los atributos HTML deben llevar comillas, simples '' o dobles ""; por tanto id=Box_2 es incorrecto, debería ser id='Box_2', y así con todos los otros atributos (value, style, name...).
Por otro lado, los forms deben tener por lo menos tres atributos requeridos: name, method y action; los demás son opcionales (onsubmit, enctype, id...).

Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #4 (permalink)  
Antiguo 27/07/2010, 15:55
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 20 años, 11 meses
Puntos: 0
Respuesta: Problema al borrar divs dinamicamente

Hola _cronos2, he editado el ejemplo que subi para poner las comillas que comentas, pero sigue igual (lo he editado para no poner más codigo en el post).

Hola zerokilled he leido el post que me indicas pero sinceramente no sabría como adoptarlo, voy a seguir mirandol haber si alcanzo a entenderlo.
  #5 (permalink)  
Antiguo 28/07/2010, 03:26
 
Fecha de Ingreso: junio-2010
Mensajes: 76
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: Problema al borrar divs dinamicamente

No se si estare repitiendo a alguien de arriba pero me da muuucha pereza leer a todos, mi recomendacion es esta:
function BorrarBOX(){
j=0;
while (document.getElementById('BOX_'+j)!=null){
//Mi intencion es que mire si existe el id BOX_1,2,3,4,5..... si es asi sumar 1 a j
j++;
}

for (i=1;i<j;i++){
document.getElementById('BOX_'+i).innerHTML='';

o

document.getElementById('BOX_'+i).style.display=no ne;
}
  #6 (permalink)  
Antiguo 28/07/2010, 11:51
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 20 años, 11 meses
Puntos: 0
Respuesta: Problema al borrar divs dinamicamente

Hola Jokuto, gracias por tu aportacion, probe tu codigo y me permitio ocultar el contenido de los elemetos, pero mi intencion era eliminarlos, creo que de esa forma no podria eliminar los elementos , lo consulte con un amigo y me dio esta solucion :

<script>
function BorrarBOX(){
var container=document.getElementById("BoxContenedor") ;
var capas=container.getElementsByTagName('div');
var aux=parseInt(capas.length/2);

for (i=0;i<aux-1;i++){
if(capas.item(2).id!=""){
container.removeChild(capas.item(2));
}
}
}
</script>

Última edición por sqa212; 28/07/2010 a las 15:29

Etiquetas: borrar, dinamicamente
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:13.