Foros del Web » Programando para Internet » Javascript »

appendchild - DOM

Estas en el tema de appendchild - DOM en el foro de Javascript en Foros del Web. Hola, por ahi habia oido que se podia insertar elementos gracias a appendchild. he probado con divs, y textos con formato, y si me sale ...
  #1 (permalink)  
Antiguo 23/02/2005, 21:07
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 19 años, 4 meses
Puntos: 0
appendchild - DOM

Hola, por ahi habia oido que se podia insertar elementos gracias a appendchild.
he probado con divs, y textos con formato, y si me sale todo, pero me surjio la idea de insertar un archivo javascript mediante el siguiente codigo:

Código PHP:
<html>
<
head>
</
head>
<
body>
<
script type="text/javascript">
function 
insertar() {
  var 
paraEl;
  
paraEl document.createElement("script");
  
paraEl.setAttribute('language''javascript');  
  
paraEl.setAttribute('src''miarchivo.js');
  
paraEl.appendChild(paraEl);
  return 
false;
}
</script>
  
<p> <a href="" onclick="return insertar();">insertar mi archivo</a></p>
</body>
</html> 
je !, y me marca error, se que estoy mal en algo, pero no se en donde....

alguien podra decirme en que error he caido

Saludos !

Última edición por Danger_; 23/02/2005 a las 21:08
  #2 (permalink)  
Antiguo 23/02/2005, 21:20
 
Fecha de Ingreso: febrero-2004
Mensajes: 221
Antigüedad: 20 años, 2 meses
Puntos: 0
El error es que no estas entendiendo para que sirve cada cosa.

En primer lugar, un nodo se puede agregar a otro nodo, pero no a si mismo. La funcion appendChild agrega un nodo a otro.

Por lo tanto, si quieres insertar el tag script en el <body> solo debes hacer document.getElementsByTagName('body').item(0).appe ndChild(paraEl);

En segundo lugar, debes hacer reusable tu funcion.
Pasale un arguento archivo al creador del tag <script

Por ejemplo>

function crearScript(src) {
paraEl = document.createElement("script");
paraEl.setAttribute('language', 'javascript');
paraEl.setAttribute('src', src);
...
}

En tercer lugar, por que devuelves false? El valor de retorno de la funcion no deberias mezclarlo con el que le debes pasar al event handler.

Lo correcto es devolver true si la operacion tiene exito, y al onclick pasarle:

"insertar(); return false;"
  #3 (permalink)  
Antiguo 23/02/2005, 21:21
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 19 años, 4 meses
Puntos: 0
jejejeje, 5 minutos despues me salio esto:

Código PHP:
     <html>
<
head>
    <
script language="JavaScript1.2">
    function 
llamar (){
var 
scriptElement document.createElement('script');
scriptElement.setAttribute('src''miarchivo.js');
document.body.appendChild(scriptElement);
}
    
</script>
</head>
<body>
    <a href="javascript:llamar()">Hej</a>
</body>
</html> 
jejejeje, sencilla solucion :). CASO CERRADO !

Saludos !
  #4 (permalink)  
Antiguo 23/02/2005, 21:22
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 19 años, 4 meses
Puntos: 0
jejejejeje, al mismo tiempo posteamos o que onda, jejejeje.
  #5 (permalink)  
Antiguo 23/02/2005, 21:23
 
Fecha de Ingreso: febrero-2004
Mensajes: 221
Antigüedad: 20 años, 2 meses
Puntos: 0
Claro, Sencilla y PESIMA 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 14:24.