Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/07/2007, 17:11
Avatar de el_javi
el_javi
 
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 7 meses
Puntos: 10
Re: getElementById con un id que no esta en el dom inicial

Hola Volrath

Creo que más o menos entiendo tu idea y tu planteamiento.

Yo (no con ajax) inserto (creo --> del verbo crear) con Javascript nodos dinámicamente, los incluyo dentro de mi HTML y desde otras funciones, botones... puedo acceder a ellos sin problema.

El DOM inicial no se modifica,pero en la memoria del Navegador y en la Memoria del DOM, esos elemento existen, a pesar de haberlos cargado dinámicamente.

"Como muestra, un botón"


Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<
html>
<
head>
    <
title>Untitled</title>
    <
script language="JavaScript1.2" type="text/javascript">
        function 
insertarNuevoNodo ()
        {
            
// Creo un elemento dinámicamente, por lo que no está en el DOM inicial de este documento
            
var nuevoNodo document.createElement("div");
            
// Asigno propiedades a mi nuevo objeto
            
nuevoNodo.id "nodo_de_Volrath";
            
nuevoNodo.style.width "400px";
            
nuevoNodo.style.height "200px";
            
nuevoNodo.style.backgroundColor "#CCCCCC";
            
nuevoNodo.innerHTML "Este ejemplo es para ti <strong>Volrath</strong>"
            
            
// Incluyo el elemento en la página
            
document.body.appendChild(nuevoNodo);
            
            
// Activo el segundo botón
            
document.getElementsByTagName("input")[1].disabled false;
        }
        
        function 
leerNuevoNodo()
        {
            
// Obtengo el elemento dinámico que se creó antes
            
var nuevoNodo document.getElementById("nodo_de_Volrath");
            
            
// Vemos su contenido
            
alert (nuevoNodo.innerHTML);
        }
    
</script>
</head>

<body>
<input type="Button" value="pinchame y a ver que sale" onclick="insertarNuevoNodo()">

<input type="Button" value="Leemos el elemnto dinámicamente" onclick="leerNuevoNodo()" disabled>


</body>
</html> 
Espero serte de ayuda.