CursosEmpresasBlogLiveConfPrecios

Atributos y propiedades

Clase 9 de 29 • Curso de Manipulación del DOM

Clase anteriorSiguiente clase

Contenido del curso

DOM y Web API

  • 1
    Y entonces nació internet...

    Y entonces nació internet...

    02:23 min
  • 2

    Accede a la versión más actualizada de este contenido

    00:14 min
  • 3
    ¿Qué es el DOM?

    ¿Qué es el DOM?

    02:39 min
  • 4
    Web APIs modernas

    Web APIs modernas

    03:17 min

Operaciones básicas

  • 5
    Leer nodos

    Leer nodos

    09:31 min
  • 6
    NodeLists vs Array

    NodeLists vs Array

    03:46 min
  • 7
    Crear y agregar

    Crear y agregar

    15:47 min
  • 8
    Otras formas de agregar

    Otras formas de agregar

    06:55 min
  • 9
    Atributos y propiedades

    Atributos y propiedades

    Viendo ahora
  • 10
    Eliminar nodos

    Eliminar nodos

    09:31 min
  • 11
    Operaciones en lote

    Operaciones en lote

    06:52 min

Workshop 1: Fetch

  • 12
    Presentación del proyecto

    Presentación del proyecto

    01:10 min
  • 13
    Descargando información y creando nodos

    Descargando información y creando nodos

    18:36 min
  • 14
    Enriqueciendo la información

    Enriqueciendo la información

    10:53 min
  • 15
    Usando la API de internacionalización del browser

    Usando la API de internacionalización del browser

    12:14 min
  • 16
    Comparte el resultado

    Comparte el resultado

    02:18 min

Eventos

  • 17
    Reaccionar a lo que sucede en el DOM

    Reaccionar a lo que sucede en el DOM

    13:58 min
  • 18
    Event propagation

    Event propagation

    12:08 min
  • 19
    Event delegation

    Event delegation

    05:32 min

Workshop 2: Lazy loading

  • 20
    Presentación del proyecto

    Presentación del proyecto

    03:34 min
  • 21
    Nuestro propio plugin Lazy Loading

    Nuestro propio plugin Lazy Loading

    08:32 min
  • 22
    Creando las imagenes con JavaScript

    Creando las imagenes con JavaScript

    17:33 min
  • 23
    Intersection Observer

    Intersection Observer

    14:21 min
  • 24
    Aplicando Lazy loading

    Aplicando Lazy loading

    13:07 min
  • 25
    Comparte el resultado

    Comparte el resultado

    03:17 min

Workshop 3

  • 26
    Proyectos propuestos

    Proyectos propuestos

    04:17 min

Librerías relacionadas

  • 27
    ¿Y jQuery?

    ¿Y jQuery?

    03:41 min
  • 28
    ¿Y JSX?

    ¿Y JSX?

    09:40 min

Conclusiones

  • 29
    Conclusiones

    Conclusiones

    01:56 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
        Carlos Eduardo Gomez García

        Carlos Eduardo Gomez García

        teacher•
        hace 5 años

        Básicamente un atributo es el estado inicial en nuestro HTML, es HTML solo podemos escribir atributos porque es el estado inicial con el que se renderizan y una propiedad es la variable que podemos cambiar a lo largo de la ejecución del programa mediante JavaScript, es decir, podemos acceder a dichos atributos y cambiarlo, haciendo que sean propiedades, aquí un poco más de información sobre ello. . Lo genial de JavaScript es que podemos cambiarlas de forma dinámica. Recordemos que JavaScript son en su mayoría objetos, por lo que los nodos HTML dentro de JavaScript son representados como objetos. Teniendo eso en cuenta, podemos acceder a cualquier atributo de dichos nodos desde HTML y cambiar sis propiedades, por ejemplo:

        // Al seleccionar el nodo HTML, JavaScript lo convierte en un objeto! const input = document.querySelector("input") // Y of course, podemos modificarlo como cualquier otro objeto de JavaScript: input.placeholder = "Escribe algo" input.value = 2 input.type = "number"
          Jimmy Buriticá Londoño

          Jimmy Buriticá Londoño

          student•
          hace 5 años

          Muy buen aporte, gracias.

          Rafael Ángel Girón Girón

          Rafael Ángel Girón Girón

          student•
          hace 5 años

          Gracias por el aporte. Se me genera una duda entre lo que son objectos y lo que son prototipos en Javascript?

        Fernando Quinteros Gutierrez

        Fernando Quinteros Gutierrez

        student•
        hace 5 años

        ⚖️ Atributos y propiedades

        Ideas/conceptos claves

        Los atributos de HTML son palabras especiales utilizadas dentro de la etiqueta de apertura, para controlar el comportamiento del elemento. Los atributos de HTML son un modificador de un tipo de elemento de HTML

        Propiedad del DOM sera inicializada por los atributos del HTML para posteriormente modificarlas

        Recursos

        What is the difference between properties and attributes in HTML? - GeeksforGeeks

        Apuntes

        • El 80% del tiempo que estemos manipulando el DOM, lo que haremos sera cambiando dinámicamente con JS las propiedades de un elemento
        • Podemos acceder y modificar las propiedades mediante las propiedades del elemento deseado
        // 👀 Lectura console.log(inputName.value) // "Fer" // 📝 Modificación inputName.value = "Fernando"

        Atributo 🆚 Propiedad

        • Atributo
          • Definidas por el HTML
          • Constantes
          • Solo se usan para iniciar el HTML y las propiedades del DOM
        • Propiedad
          • Son lo que irán cambiando en JS
          • Definidas por el DOM
          • Valor de una propiedad es variable

        RESUMEN: Las propiedades de los elementos serán aquellas que mayormente se modificarán. La diferencia entre un atributo y una propiedad es que el atributo para iniciar el HTML y DOM, son constantes mientras que las propiedades vienen del DOM y se pueden ir cambiando

          Eduardo Rodriguez

          Eduardo Rodriguez

          student•
          hace 5 años

          Gracias por tu resumen

        Omar García Betanzos

        Omar García Betanzos

        student•
        hace 5 años

        El 80% del tiempo que estemos manipulando el DOM, realmente lo que nosotros estamos haciendo, es cambiar de forma dinámica con JavaScript las propiedades de un elemento para adecuarlo a nuestras necesidades.

        William Fernando Cañas Salas

        William Fernando Cañas Salas

        student•
        hace 5 años

        Diferencia entre atributos y propiedades Fue un poco confuso en la clase, pero creo que puedo aclararlo en 4 puntos:

        1. Los atributos nacen cuando creamos un elemento HTML en el código (estado inicial).
        2. Este elemento será representado en el DOM como un nodo y por ende su representación será un objeto. Como sabemos, todo objeto puede tener propiedades y los nodos efectivamente las tendrán (y bastantes!).
        3. Una de esas propiedades se llama "attributes" y contiene los atributos que habíamos indicado en el HTML.
        4. El objeto aparte de la propiedad attributes tendrá más propiedades, algunas de ellas de nombre idéntico o similar a los atributos (id es exactamente igual, pero por ejemplo el atributo "class" se encuentra como propiedad del objeto bajo el nombre "className").
        5. Aparte de la cercanía entre los nombres, algunos valores de estos attributes serán iguales a sus propiedades recíprocas (por ejemplo, nodo_x.id === nodo_x.attributes.id), pero no siempre es así (por ejemplo, un input.attribute.value !== input.value, el primero es el valor con el que inicializamos el input, pero el segundo cambiará según el usuario interactúe con él).
          Giselle Desiree Boyer Jimenez

          Giselle Desiree Boyer Jimenez

          student•
          hace 5 años

          Gracias por este contenido, de verdad no quedó muy claro en la clase

          Kevin Ariel Merino Peña

          Kevin Ariel Merino Peña

          student•
          hace 4 años

          ¡Infinitas gracias!

        Andrés D Amelio

        Andrés D Amelio

        student•
        hace 5 años

        Atributos

        En nuestro documento le podemos asignar atributos a cada elemento del DOM, ¿Pero que son los atributos? son valores adicionales que agregamos a las etiquetas para configurar o ajustar su comportamiento de muchas formas, con el fin de cumplir con los criterios que requieren los usuarios.

        Con javascript podemos acceder a esos atributos definidos en el HTML, veamos un ejemplo de como podemos hacer esto, supongamos que tenemos un input que recibe el nombre completo de una persona

        // Nuestro input <input class="form-control" id="persona-nombre" placeholder="Nombre completo" /> // Obtenemos el input const input = document.querySelector("#persona-nombre"); // Obtenemos los atributos input.className // salida: "form-control" input.id // salida: "persona-nombre" input.placeholder // salida: "Nombre completo"

        Como vimos podemos acceder a cada atributo como lo hacemos cuando queremos obtener una propiedad en un objeto de javascript, con esto podemos verificar que valor esta tomando cada atributo. Si en el input escribimos texto desde el navegador, podemos acceder a ese valor a traves de input.value.

        Javascript cuenta ademas con otras metodos que permiten manipular los atributos de los nodos, estos son element.setAttribute(), element.getAttribute() y element.removeAttribute(). Veamos como funciona cada uno

        • element.setAttribute()

          Este método establece el valor de un atributo en el elemento indicado, recibe dos argumentos, el primero de ellos un string donde se indica el nombre del atributo, y el segundo el valor que tomará dicho atributo. Es importante mencionar que si el atributo ya existe en el elemento, el valor será actualizado. supongamos que al input del ejemplo anterior queremos agregarle el atributo name, lo hacemos de la siguiente manera

          input.setAttribute("name", "fullName"); // Ahora el input quedará de la siguiente manera <input class="form-control" id="persona-nombre" placeholder="Nombre completo" name="fullName" />
        • element.getAttribute()

          Este método retorna el valor del atributo especificado en el elemento. Si el atributo al que se hace referencia no esta definido en el elemento, el valor que retornará dicho método es null. Supongamos que queremos obtener el valor del atributo name agregado en el ejemplo anterior.

          input.getAttribute("name"); // Salida: "fullName"
        • element.removeAttribute()

          Este método elimina el atributo del elemento que lo invoca, con esto podemos quitar atributos que ya no necesitemos, supongamos que queremos eliminar el atributo name del input de los ejemplos anteriores, lo hacemos de la siguiente forma

          input.removeAttribute("name"); // input final <input class="form-control" id="persona-nombre" placeholder="Nombre completo" />
        sebastian gomez

        sebastian gomez

        student•
        hace 5 años

        Yo tomo este concepto como : Atributos: Constantes ya establecidas en el DOM Propiedades: Variables que puedo cambiar pero no se veran reflejados en el DOM

        Marianna Guedez

        Marianna Guedez

        student•
        hace 4 años

        ATRIBUTOS HTML algunos métodos para utilizar en un elemento HTML y añadir, modificar o eliminar sus atributos

        dom_atributos.png

        Anfernee Valera

        Anfernee Valera

        student•
        hace 5 años

        En el minuto 3:41 el profesor repite **atributos **pero en realidad creo que quería decir propiedades.

        Jose Funez

        Jose Funez

        student•
        hace 5 años

        Cada uno de estos elementos en el DOM es accesible desde JavaScript mediante un objeto. Los atributos de las etiquetas son accesibles como propiedades de estos objetos. . https://www.jasoft.org/Blog/post/la-relacion-entre-atributos-html-y-propiedades-javascript

        Carlos Hernández

        Carlos Hernández

        student•
        hace 4 años

        $0.value sobre cualquier password de cualquier input y te muestra su constraseña :o

        Juan Esteban Galvis

        Juan Esteban Galvis

        student•
        hace 5 años

        Entonces comienzan como atributos y luego pasan a ser propiedades? Dado que al inicio los declaramos en el HTML pero luego todos los atributos son modificables en la ejecución, entonces todos atributos se convierten en propiedades?

          Carlos Eduardo Gomez García

          Carlos Eduardo Gomez García

          teacher•
          hace 5 años

          Así es! Inician siendo atributos (atributos HTML, es su nombre) y dentro de JavaScript se vuelven propiedades, porque por la naturaleza de JavaScript, cualquier atributo que esté dentro de un objeto es una propiedad modificable.

          Es decir, cuando tú escribes HTML le estás diciendo: "Ok, tú vas a tener esto y esto y eso", pero en HTML no lo puedes modificar en tiempo de ejecución, en JavaScript si:D

          Sebastian Gonzalez

          Sebastian Gonzalez

          student•
          hace 5 años

          Así es, podría decirse también que los atributos son las primeras propiedades que va a tomar el navegador, después las demás propiedades las deja en su valor por defecto

        matias bravo

        matias bravo

        student•
        hace 5 años

        Atributos vs Propiedades

        Atributo: Estado inicial en nuestro HTML, con el que se renderizan el dom

        Propiedad: Es la variable que podemos cambiar a lo largo de la ejecución del programa mediante JavaScript,

        Basicamente podemos acceder a dichos atributos y cambiarlos, haciendo que sean propiedades.

        Cesidio Antonio Di Benedetto Carri

        Cesidio Antonio Di Benedetto Carri

        student•
        hace 4 años

        La diferencia entre propiedades y atributos

        ATRIBUTOS

        • Son definidos por el HTML (Ej: type, class, id, type…)
        • El valor del atributo es constante
        • Se utiliza para inicializar las propiedades del DOM

        PROPIEDADES

        • Son definidos por el DOM (Ej: className, getElementById, getAttribute…)
        • El valor de la propiedad es variable
        • No finaliza al inicializarse el DOM
        José Alberto Ramírez Quiroz

        José Alberto Ramírez Quiroz

        student•
        hace 4 años

        Cual es la diferencia entre Atributos y propiedades

        Un atributo es la forma en que inicializamos lo que queremos hacer por ejemplo asignar una clase a un div

        <div class='box'></div>

        Aquí el atributo es class y la propiedad es 'box' esto pude cambiar durante el transcurso del programa, una forma facil de recordarlo sería: Un atribito es estatico y las propiedades son dinamicas puesto que hay muchas en base al atributo que estemos usando

          Mauricio J Carrillo

          Mauricio J Carrillo

          student•
          hace 4 años

          Hola José! . Creo que estás confundiendo los conceptos. Según lo que yo he entendido con el ejemplo que propones: En el div, "class" es el atributo y "box" es el valor de ese atributo. . Si quisieras cambiar el valor de class = "box", por otro, debes utilizar la propiedad "className".

          div.className = "nuevo_nombre".

          Ahora en el DOM el valor de class = "nuevo_nombre"

          <div class='nuevo_nombre'></div>

          Saludos! Si estoy equivocado por favor corregirme.

        Miguel Angel Reyes Moreno

        Miguel Angel Reyes Moreno

        student•
        hace 5 años

        Atributos y propiedades

        Los atributos y propiedades son los que realmente le dan vida a los elementos que se encuentran en el DOM. El 80% del tiempo que estemos manipulando el DOM, realmente lo que nosotros estamos haciendo, es cambiar de forma dinámica con JavaScript las propiedades de un elemento para adecuarlo a nuestras necesidades.

        PREGUNTA DE ENTREVISTA: ¿CUÁL ES LA DIFERENCIA ENTRE UN ATRIBUTO Y UNA PROPIEDAD?: Los atributos son usados únicamente al inicio del HTML. Las propiedades pueden cambiar en cualquier momento, pero los atributos son usados únicamente al principio para inicializar el HTML. En el DOM vemos los atributos y en la página web veremos las propiedades.

        Sebastian Heredia

        Sebastian Heredia

        student•
        hace 5 años

        Atributos: Son los que están al inicio como Input, class, id, etc. Propiedades: Son las cosas vivientes y cambiantes que hay dentro del DOM

        Sebastian Gonzalez

        Sebastian Gonzalez

        student•
        hace 5 años

        ATRIBUTOs: son todo lo que le agregamos como tal al codigo html, los input son elementos que nos permiten visualizar varias propiedades facilmente

        <input type="text" placeholder="Escribe Aqui" class="first-input" id="jobTitle" required style="color: red">

        Estos son solo algunos de los atributos que podemos encontrar en html y podemos modificarlos facilmente y solo se usan cuando se crea inicializa el HTML.

        PROPIEDADES: Las propiedades cambias mas facilmente y puede ir cambiando en toda su vida "dentro de la pagina claro", algunas de ellas son: (parentElement, firstElementChild, value, textContent, etc) obviamente no todos los elementos van a traer inicializadas estas propiedades, ejemplo si el elemento no tiene hijos o mas nodos dentro de el la propiedad firstElement vendria con null. Si quieres ver algunos de ellos abre la consola de chrome y pega lo siguiente

        if(window) { debugger; console.log(window); }else { debugger; console.log(document); }

        Debe de activarse el debugger que basicamente te permite analizar linea a linea tu codigo (util para corregir bugs), si pones tu mouse en el window del if o en el document del else podras ver que se muestra en pantalla algunas de las propiedades

        Fernando Garcia

        Fernando Garcia

        student•
        hace 4 años

        Que pasa con el objeto OPTION de un SELECT porque no se puede modificar el estilo fácilmente?

        Dario Paladines

        Dario Paladines

        student•
        hace 4 años

        De lo que yo entendí los atributos son aquellos que vienen por defecto en HTML, mientras que las propiedades las podemos ir cambiando conforme lo necesitemos, asi por ejemplo

        <img src= " " alt =" " class= " " width = " ">

        En ese ejemplo, según lo que yo entendí los atributos serían "src" y "alt" que son aquellos que vienen por defecto, mientras que las propiedades sería el "width" y "class", estoy entendiendo bien? o acaso estoy confundido. Claro podemos modificar esos atributos y convertirlos en propiedades, manipulando el DOM pero inicialmente fueron atributos no?

          Usuario anónimo

          Usuario anónimo

          user•
          hace 3 años

          Si yo tambien lo entendi asi, aunque con JS se pueden agregar atributos y modificar sus propiedades, creo que lo entendi bien ja

        Amderson Hernandez

        Amderson Hernandez

        student•
        hace 2 años

        Si lo comparo a los objetos seria el atributo como la key y las propiedades como el value. Así lo entiendo...