Foros del Web » Programando para Internet » Javascript »

como agrego un css desde js??

Estas en el tema de como agrego un css desde js?? en el foro de Javascript en Foros del Web. Tengo esto: Código: var head = document.getElementsByTagName('head'); css = document.createElement('link'); css.rel = 'stylesheet'; css.href = '../css/estilo.css'; css.type = 'text/css'; head.appendChild(css); el problema es q no ...
  #1 (permalink)  
Antiguo 18/06/2008, 16:33
 
Fecha de Ingreso: marzo-2007
Mensajes: 302
Antigüedad: 17 años, 1 mes
Puntos: 2
Pregunta como agrego un css desde js??

Tengo esto:

Código:
var head = document.getElementsByTagName('head');
css = document.createElement('link');
css.rel  = 'stylesheet';
css.href = '../css/estilo.css';
css.type = 'text/css';
head.appendChild(css);
el problema es q no me funciona..q esta mal??
  #2 (permalink)  
Antiguo 18/06/2008, 17:59
 
Fecha de Ingreso: septiembre-2004
Mensajes: 252
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: como agrego un css desde js??

prueba con
document.body.previousSibling.appendChild(css)
  #3 (permalink)  
Antiguo 18/06/2008, 22:30
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: como agrego un css desde js??

Yeah! Den la vienvenida a Buzu que regresa mas duro que nunca jajaja, Quiza solo por un dia jajaja... No tengo tiempo para andar por aca ultimamenete, pero bueno sin mas a responder.

Lo que pasa es que getElementsByTagName te regresa como resultado un Array, por lo que tu var head no es una variable sino un Array. Para solucionarlo basta con poner head[0].appendChild(css) en lugar de head.appendChild(css)

Saludos.
  #4 (permalink)  
Antiguo 04/07/2008, 22:14
 
Fecha de Ingreso: marzo-2007
Mensajes: 302
Antigüedad: 17 años, 1 mes
Puntos: 2
Pregunta Respuesta: como agrego un css desde js??

como hago lo mismo pero con un js? es decir quiero agregar un js como agregue el css ..hice esto..

Código:
    css.href = '../css/noticias.css';
				var script = document.createElement("script");
				script.language = "javascript";
				script.src = "acc2.js";
				document.body.previousSibling.appendChild(css);//el css lo carga bien  
                               document.body.previousSibling.appendChild(script);//no locarga
como hago?? grx!!!

Última edición por usuaria; 04/07/2008 a las 22:36
  #5 (permalink)  
Antiguo 05/07/2008, 05:59
 
Fecha de Ingreso: marzo-2008
Mensajes: 306
Antigüedad: 16 años, 1 mes
Puntos: 6
Respuesta: como agrego un css desde js??

Para incluir un javascript desde otro puedes hacerlo al menos de dos formas:

Código:
document.write("<script type='text/javascript' src='test.js'></scr"+"ipt>");
Observa que debes cerrar el tag de script con dos string diferentes para que no considere que ahí acaba el código javascript.

También se puede hacer mediante funciones DOM (Document Object Model):

Código:
// Create the Script Object
var script = document.createElement('script');
script.src = 'server.js';
script.type = 'text/javascript';
script.defer = true;
script.id = 'scriptID'; // Esto es para poder borrar el objeto despues for removal
// Ahora se inserta el objeto creado en el elemento HEAD del html
var head = document.getElementsByTagName('head').item(0);
head.appendChild(script);
Y para borrar dicho elemento:

Código:
var head = document.getElementsByTagName('head').item(0);
var old = document.getElementById('scriptID');
if (old) head.removeChild(old);
__________________
Pop & Rock Bands
Pop Music Stars
  #6 (permalink)  
Antiguo 06/07/2008, 11:53
 
Fecha de Ingreso: marzo-2007
Mensajes: 302
Antigüedad: 17 años, 1 mes
Puntos: 2
Pregunta Respuesta: como agrego un css desde js??

por q motivo puede ser q no me lo tome?? Porque lo agrego asi y no lo toma, es decir no se ejecutan las acciones que tiene ese js. (Ya lo probe aparte y anda, el problema es que cuando lo quiero agregar asi no me lo toma porque puede ser?)

Y si lo agrego en la home donde llama a todas las secciones (estan con anclas llamadas <div><a href="#noticias">Noticias</a></div>) al cargar todo el contenido de noticias no me ejecuta las acciones ni nada..alguna solucion??
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 20:37.