elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Curso de javascript | 13. Usar DOM a través de getElementById()
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Curso de javascript | 13. Usar DOM a través de getElementById()  (Leído 1,908 veces)
TickTack


Desconectado Desconectado

Mensajes: 428


CipherX


Ver Perfil
Curso de javascript | 13. Usar DOM a través de getElementById()
« en: 22 Agosto 2022, 14:36 pm »

Usar DOM a través de getElementById()
Echemos un vistazo a getElementById().

Queremos apuntar a un elemento específico en nuestra página HTML.

Código
  1. <title>Titulo de la pagina</title>
  2. </head>
  3.    <h1>Encabezado 1</h1>
  4.    <p>Primer parrafo con texto</p>
  5.    <p>Segundo parrafo con texto</p>
  6.    <a href="https://foro.elhacker.net">Texto del link</a>
  7. </body>
  8. </html>

¿Cómo podemos usar javascript para obtener específicamente, por ejemplo, el primer párrafo? Para hacer esto, usamos la instrucción de javascript getElementById().

Nuestro elemento deseado ahora necesita un identificador único. Podemos agregar el atributo id y un nombre único a cualquier elemento HTML directamente en el código HTML. Aquí se aplican las siguientes reglas para un nombre único:

  • No deben de haber espacios.
  • No deben de haber guiones.
  • No deben de haber caracteres especiales (por lo que es mejor usar solo letras de la a a la z y números del 0 al 9).

En nuestro ejemplo, demos a nuestro primer párrafo el atributo HTML id y el nombre area1. Aquí el fragmento del código HTML extendido:

Código
  1. <p id="area1">Primer parrafo con texto</p>

Ahora podemos agregar el nombre a nuestro comando de javascript getElementById(). Además, a través de document., decimos que se use el documento HTML actual (es decir, nuestro árbol DOM):

Código
  1. document.getElementById('area1');

Si ejecutamos nuestro programa javascript, todavía no sucede nada visible.

Ahora podemos acceder a un elemento específico.

Nuestro elemento contiene el comando HTML completo y el contenido "Primer parrafo con texto" encerrado por el comando, es decir, la completa rama seleccionada, incluidas todas las ramillas y hojas de nuestro árbol DOM.

Si solo queremos el texto y no la rama completa - en otras palabras, no queremos que se devuelvan atributos ni comandos HTML - javascript nos ofrece la extensión a través de innerHTML.

Código
  1. document.getElementById('area1').innerHTML;

Por supuesto, estas notaciones de puntos hacen que las instrucciones en javascript sean cada vez más largas y, por lo tanto, más y más confusas. Y en la mayoría de las veces, en repetidas veces se necesita acceso al mismo elemento.

Por lo tanto, se construye a partir del siguiente código

Código
  1. document.getElementById('area1').innerHTML;

la siguiente construcción usando una variable:

Código
  1. let parrafo1 = document.getElementById('area1');
  2. console.log(parrafo1.innerHTML);
  3. console.log(parrafo1);
  4. alert(parrafo1.innerHTML);

Expandi nuestro programa existente y ve si hay una salida en la consola. Hay un 50% de posibilidades de que funcione (salvo por errores tipográficos).

¡Primero probalo antes de seguir leyendo!

¡En serio!

¿Funcionó? ¿Obtuviste el resultado esperado? Entonces nuestro programa javascript se insertó después de las salidas HTML en el archivo:

Código
  1. <html>
  2. <head>
  3. <title>Titulo de la pagina</title>
  4. </head>
  5. <body>
  6.    <h1>Encabezado 1</h1>
  7.    <p id="area1">Primer parrafo con texto</p>
  8.    <p>Segundo parrafo con texto</p>
  9.    <a href="https://foro.elhacker.net">Texto del link</a>
  10. <script>
  11. let parrafo1 = document.getElementById('area1');
  12. document.write("<br>" + parrafo1.innerHTML);
  13. document.write("<br>" + parrafo1);
  14. alert(parrafo1.innerHTML);
  15. </script>
  16. </body>
  17. </html>

Si no funcionó, nuestras instrucciones de javascript se insertaron antes de las salidas HTML de los párrafos. Entonces no viene ningún contenido, sino mensajes de error en forma de "Uncaught TypeError: Connot read property …".

¡Probalo, porque en el próximo capítulo nos haremos independientes de la posición de nuestras declaraciones de javascript en nuestro archivo!


« Última modificación: 24 Agosto 2022, 16:15 pm por TickTack » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines