Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: ramonmantilla en 10 de Mayo 2014, 18:22
-
Buen Dia Estimados
Primero les doy las gracias por la excelente pagina. Leyendo sus cursos he logrado aprender lo basico de html, css y ahora javascript.
El motivo de mi consulta es sobre un problema que se me presenta con la sentencia document.getElementById().
En un archivo html tengo la siguiente sentencia:
<h1 id='tex1' name='texto1' class="brillante" onMouseOver='cambio();'>Portal Web <span class="destacado">aprenderaprogramar.com</span>, para aprender </h1>
En un archivo externo .js tipeo las siguientes sentencias:
document.write(document.getElementsByName('texto1').nodeName);
document.write(document.getElementsByTagName('h1').nodeType);
document.write(document.getElementsByClassName('brillante').nodeName);// NO FUNCIONA EN EXPLORER
document.write(document.querySelectorAll('#tex1').nodeValue);
document.write(document.getElementById('tex1').nodeValue); //NO FUNCIONA EN NINGUN NAVEGADOR
Donde la 3era sentencia no funciona en explorer, mientras que la ultima no me funciona en ningun navegador (opera, safary, ie, chrome o firefox) generandome un error que dice: Error de Type No puede convertir en objeto.
Si la ultima sentencia la escribo asi:
document.write(document.getElementById('tex1');
No genera error, pero si le anexo .nodeValue o .nodeType o .nodeName si lo genera.
Por otro lado. Como hago para que cuando escribo
document.write(document.getElementsByTagName('h1').nodeValue = `texto cualquiera`;
me permita hacer cambios en forma dinamica en la pagina ya que no genera ningun cambio.
Muchas Gracias
Ramon Mantilla
armantilla@gmail.com
-
Hola Ramón, para poder revisar el problema me harían falta los códigos completos. Puedes pegarlos en el foro usando el botón # del editor y pegando el código entre las etiquetas [ code ] ... [ / code] ó bien ponerlo como archivos adjuntos.
Lo primero que te puedeo decir es que document.getElementsByClassName('brillante').nodeName no parece una sintaxis correcta. De acuerdo con la definición de este método, lo que te devuelve es un array, pero tú aquí no estás indicando cuál es el índice del elemento del array que quieres invocar. No puedes invocar un elemento de un array sin poner su índice, de todas formas tendría que ver el código completo. Saludos.