Foros del Web » Programando para Internet » Javascript »

cambiar estilo a una capa

Estas en el tema de cambiar estilo a una capa en el foro de Javascript en Foros del Web. Tengo un div contenedor donde tengo tres div hijos de este, lo que quiero es dar estilos a estos tres div con javascript. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 03/09/2015, 03:54
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
cambiar estilo a una capa

Tengo un div contenedor donde tengo tres div hijos de este, lo que quiero es dar estilos a estos tres div con javascript.

Código HTML:
Ver original
  1. <div id="contenedor">
  2.    <div>uno</div>
  3.    <div>dos</div>
  4.    <div>tres</div>
  5. </div>



con document.getElementById acedo al contenedor pero como seria para aceder a los hijos solo a ellos sin afectar el contenedor principal.
saludos
  #2 (permalink)  
Antiguo 03/09/2015, 04:24
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: cambiar estilo a una capa

lo puedes hacer tanto con la propiedad childNodes(), como con pseudo-elementos de css3
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 03/09/2015, 04:50
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: cambiar estilo a una capa

Hola, gracias por tu colaboracion lo primero, ahora cambiando el codigo fuente algo asi:

Código HTML:
Ver original
  1. <div id="contenedor">
  2.    <div><p>uno<p></div>
  3.    <div><p>dos</p></div>
  4.    <div><p>tres<p></div>
  5. </div>

como le doy un tamaño de ancho a los div dentro de contenedor, probe asi, no me funciona.

Código Javascript:
Ver original
  1. elemento=document.getElementById("contenedor").childNodes;
  2.  
  3. elemento.style.width="200px";

es correcto solo quiero aceder a los div no al p.

saudos.
  #4 (permalink)  
Antiguo 03/09/2015, 05:11
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 9 meses
Puntos: 72
Respuesta: cambiar estilo a una capa

childNodes devuelve una colección de elementos, igual a un array, se puede acceder a cada elemento usando el índice y también recorrerlos con un bucle.

Código Javascript:
Ver original
  1. elemento= document.getElementById("contenedor").childNodes;
  2.  
  3. for(i=0; i<elemento.length; i++) {
  4.   elemento[i].style.width="200px";
  5. }

Yo usaría getElementsByTagName() ya que childNodes presenta algunos inconvenientes con el navegador firefox, su uso es muy parecido.

Código Javascript:
Ver original
  1. elemento= document.getElementById("contenedor").getElementsByTagName("div");
  2.  
  3. for(i=0; i<elemento.length; i++) {
  4.   elemento[i].style.width="200px";
  5. }
  #5 (permalink)  
Antiguo 03/09/2015, 05:41
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: cambiar estilo a una capa

Vale gracias por la colaboracion a los dos saludos.
  #6 (permalink)  
Antiguo 03/09/2015, 06:35
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: cambiar estilo a una capa

veo que has cambiado el layout y en un futuro puede que lo vuelvas a cambiar por lo que lo mas conveniente es hacer un código reutilizable. pongamos que cambias a esto

Cita:
<div id="contenedor">
<span>uno</span>
<div><p>dos</p></div>
<p>tres</p>
</div>
este código te vale tanto para el layout que estás usando ahora, como este otro que te presento

Cita:
Array.prototype.forEach.call(document.querySelecto rAll('#contenedor > *'), function(v, i, a) {

a[i].style.width = '200px';
});
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: estilo
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 14:43.