Pregunta
¿Cómo crear nodos con DOM?
Responder esta pregunta por estebanjpc el 2009-01-07
Tengo el siguiente documento HTML super sencillo:
Claramente no tiene nada, pero con este código que se agrega debería crear un nodo, pero no me funciona:
que le falta?? donde esta mi error??
<html>
<head>
<title>Creando Nodos</title>
</head>
<body></body>
</html>
Claramente no tiene nada, pero con este código que se agrega debería crear un nodo, pero no me funciona:
<html>
<head>
<title>Creando Nodos</title>
<script type="text/javascript">
var p = document.createElement("p");
var texto = document.createNodeTexto("Este párrafo lo ingresamos en el documento");
p.appendChild(texto);
Document.body.appendChild(p)
</script>
</head>
<body></body>
</html>
que le falta?? donde esta mi error??
Respuestas
El código correcto debería quedar así:
Errores:
1- El método createNodeTexto no existe, sino createTextNode.
2- Debes mandar a ejecutar el script al final para que esté disponible el acceso al objeto document.body
<html>
<head>
<title>Creando Nodos</title>
</head>
<body></body>
<script type="text/javascript">
var p = document.createElement("p");
var texto = document.createTextNode("Este párrafo lo ingresamos en el documento");
p.appendChild(texto);
document.body.appendChild(p);
</script>
</html>
Errores:
1- El método createNodeTexto no existe, sino createTextNode.
2- Debes mandar a ejecutar el script al final para que esté disponible el acceso al objeto document.body
por maikel el 2009-01-07
No hace falta declarar tantas variables, también se puede hacer de golpe en una única línea de código:
http://document.body.appendChild ( http://document.createElement ("p").appendChild( http://document.createTextNode ("Texto")));
Por si alguien no ha caído en el detalle.
Es más organizado con variables, pero a veces es necesario poder hacerlo dentro de una llamada a una funcion (como si de un parámetro se taratase), por ejemplo:
MiRutina( http://document.createElement ("p").appendChild( http://document.createTextNode ("Texto")));
En donde MiRutina recibe un elemento de tipo "p" recien creado.
Comento esto principalmente para la gente que no sabe mucho de JavaScript, no todos lo ven tan obvio como los que desarrollamos a diario.
http://document.body.appendChild ( http://document.createElement ("p").appendChild( http://document.createTextNode ("Texto")));
Por si alguien no ha caído en el detalle.
Es más organizado con variables, pero a veces es necesario poder hacerlo dentro de una llamada a una funcion (como si de un parámetro se taratase), por ejemplo:
MiRutina( http://document.createElement ("p").appendChild( http://document.createTextNode ("Texto")));
En donde MiRutina recibe un elemento de tipo "p" recien creado.
Comento esto principalmente para la gente que no sabe mucho de JavaScript, no todos lo ven tan obvio como los que desarrollamos a diario.
por Anónimo el 2011-11-22



