Return to Video

Cambiando atributos (Versión en Video)

  • 0:01 - 0:06
    Estoy de vuelta con mi página web sobre perros, y estoy determinada a usar JavaScript
  • 0:06 - 0:12
    y la API de DOM para cambiar esta página a una que sea completamente sobre gatos.
  • 0:12 - 0:17
    Y hay un gran problema que había ignorado.
    Bueno, en realidad hay un problema llamado
  • 0:17 - 0:24
    perro, bueno de hecho hay dos perros: las imágenes.
    No puedo tener imágenes
  • 0:24 - 0:29
    de estos perros adorables en mi página de gatos adorables. Y necesito cambiarlas.
  • 0:29 - 0:36
    Así que voy a empezar por encontrar esas imágenes usando "getElementsByTagName".
  • 0:36 - 0:48
    'var imageEls = document.getElementsByTagName("img");'
  • 0:48 - 0:51
    Ahora, como eso me regresa múltiples elementos,
  • 0:51 - 0:55
    necesito usar un ciclo "for" para acceder a sus elementos, así que voy a empezar.
  • 0:55 - 1:04
    "var i=0; i
  • 1:04 - 1:11
    Ok. ¿Pero qué voy a poner dentro de este ciclo "for"?
    No puedo cambiar elementos tipo imagen con
  • 1:11 - 1:19
    "innerHTML" porque las etiquetas de imagen no tienen "innerHTML". Son etiquetas que se cierran solas.
  • 1:19 - 1:24
    En su lugar, necesito cambiar lo que hace que haya perros en la imagen,
  • 1:24 - 1:27
    la URL de las fotografías, lo que está especificado
  • 1:27 - 1:31
    en el atributo "src" en cada una de las etiquetas.
  • 1:31 - 1:36
    Podemos cambiar los atributos de los elementos usando notación de punto. Déjenme mostrarles cómo.
  • 1:36 - 1:43
    En primer lugar, accedemos al elemento actual con notación de corchetes, y luego escribimos punto,
  • 1:43 - 1:51
    y ponemos el nombre del atributo de HTML como el nombre de la propiedad de JavaScript, "src", igual...
  • 1:51 - 1:55
    y luego le asignamos un nuevo valor; y puedo poner una cadena de caracteres vacía.
  • 1:55 - 1:57
    Fíjense que las imágenes desaparecieron,
  • 1:57 - 2:02
    porque una cadena de caracteres vacía no apunta a ninguna imagen.
  • 2:02 - 2:08
    Para descubrir cuál debería ser esta nueva URL, voy a pegar la URL anterior aquí,
  • 2:08 - 2:13
    y cambiar el nombre del archivo por "cat", porque yo sé
  • 2:13 - 2:17
    que ésa es la URL de la imagen de un gato en Khan Academy.
  • 2:17 - 2:23
    ¡Sí! Los perros ahora son gatos, y nuestra "gatificación" está casi completa.
  • 2:23 - 2:31
    ¿Ves algo más que todavía tiene que ver con perros?
    Es muy sutil pero,
  • 2:31 - 2:37
    queda una cosa, el enlace a Wikipedia.
    El enlace se va a la página de perros,
  • 2:37 - 2:41
    y si el usuario sigue el enlace, va a descubrir mi trampa.
  • 2:41 - 2:47
    Así que quiero mandarlo a la página de gatos.
    ¿Cómo encuentro ese enlace en JavaScript?
  • 2:47 - 2:52
    Podría asignarle a este enlace un "Id" y usar "getElementById".
  • 2:52 - 2:57
    O podría usar "getElementsByTagName" y cambiar todos los enlaces en la página.
  • 2:57 - 2:59
    O podría hacer algo fantástico y
  • 2:59 - 3:07
    encontrar sólo los enlaces que lleven a páginas sobre perros, usando un selector de consulta de CSS.
  • 3:07 - 3:12
    Déjame mostrarte la consulta de CSS que quiero hacer primero aquí en la etiqueta "".
  • 3:12 - 3:16
    Entonces, esta consulta de CSS va a encontrar todos los enlaces que tengan algo que ver con perros.
  • 3:16 - 3:19
    Primero voy a teclear "a", porque estoy buscando enlaces.
  • 3:19 - 3:26
    Luego voy a escribir: '[href*="Dog"]'.
  • 3:26 - 3:32
    Así que esto le dice a CSS que encuentre cualquier enlace que contenga "Dogs".
  • 3:32 - 3:38
    Y luego le vamos a asignar el color morado.
    ¡Tan tan!, lo seleccionó.
  • 3:38 - 3:44
    Esto está muy bien, éste es un selector de atributos, y hay muchas
  • 3:44 - 3:49
    maneras ordenadas de usar selectores de atributos para ir a lo más profundo en tu documento.
  • 3:49 - 3:58
    Así que ahora para encontrar eso en JavaScript, podemos usar "document.querySelectorAll", y escribimos:
  • 3:58 - 4:08
    "var linkEls = document.querySelectorAll", y luego podemos pegar simplemente
  • 4:08 - 4:13
    el selector que acabamos de hacer, aunque tenemos que asegurarnos
  • 4:13 - 4:23
    de que tenemos comillas dobles. Aquí están. Así que ahora esto se ve como una cadena de caracteres correcta.
  • 4:23 - 4:28
    Y ahora necesito hacer las iteraciones, así que una vez más hacemos un ciclo "for",
  • 4:28 - 4:35
    deberíamos estar muy familiarizados con este ciclo "for", y para cada elemento
  • 4:35 - 4:42
    quiero cambiar el enlace a la página web de gatos en Wikipedia.
  • 4:42 - 4:46
    Así que voy a escribir "linkEls[i].href"
  • 4:46 - 4:51
    porque ese es el nombre del atributo que estamos cambiando, luego escribo igual a...
  • 4:51 - 5:00
    y luego voy a encontrar esta URL y la pego aquí abajo y sólo le cambio aquí a "Cat",
  • 5:00 - 5:04
    porque estoy segura de que ésta es la URL de esa página.
  • 5:04 - 5:11
    ¡Tan tan! La "gatificación" del mundo está completada.
    Pero tú no has terminado
  • 5:11 - 5:16
    de aprender cómo manipular páginas web con JavaScript, así que continúa por aquí.
Title:
Cambiando atributos (Versión en Video)
Description:

more » « less
Video Language:
English
Duration:
05:31

Spanish, Mexican subtitles

Revisions