Skip to content

Atributos HTML

Las etiquetas HTML tienen atributos que definen su comportamiento y características. Algunos son comunes a todas las etiquetas, mientras que otros son exclusivos de ciertas etiquetas. ¡Y lo mejor! 🥳 El orden de los atributos no importa, así que puedes organizarlos como prefieras.

Además, un atributo puede tener un valor o ser boolean, es decir, solo necesita estar presente para funcionar. 🎯

<div class="container" data-attr="value">
<button disabled>Avisar</button>
</div>

🔑 Acceder a atributos HTML

Si ya tienes un elemento seleccionado, puedes asignar o modificar sus atributos como si fueran propiedades de un objeto: 👇

const element = document.querySelector("div"); // <div class="container"></div>
element.id = "page"; // <div id="page" class="container"></div>
element.style = "color: red"; // <div id="page" class="container" style="color: red"></div>
element.className = "data"; // <div id="page" class="data" style="color: red"></div>

Aunque puedes usar className para manejar varias clases separadas por espacios, te recomiendo usar classList porque es más versátil y cómodo. 💡

📂 Diferencias entre className y classList

  • className: Trabaja con todas las clases como una sola cadena de texto. Si asignas un valor, reemplazarás todas las clases actuales.
const element = document.querySelector("div");
element.className = "newClass"; // <div class="newClass"></div>
  • classList: Te permite añadir, quitar o alternar clases individuales sin afectar a las demás. 💪
const element = document.querySelector("div");
element.classList.add("newClass"); // <div class="container newClass"></div>
element.classList.remove("container"); // <div class="newClass"></div>
element.classList.toggle("darkMode"); // Añade o quita 'darkMode'
const hasClass = element.classList.contains("newClass"); // true

🔍 Obtener atributos HTML

Si necesitas obtener los atributos de forma directa, hay métodos muy útiles para eso. 📋

MétodoDescripción
hasAttributes(): booleanVerifica si el elemento tiene algún atributo.
hasAttribute(attr): booleanVerifica si el atributo attr existe.
getAttributeNames(): arrayDevuelve un array con todos los nombres de atributos.
getAttribute(attr): stringDevuelve el valor del atributo attr o null si no existe.

Por ejemplo, con este HTML:

<div id="page" class="info data dark" data-number="5"></div>

Podemos manipularlo con JavaScript: ✨

const element = document.querySelector("#page");
element.hasAttributes(); // true (tiene 3 atributos)
element.hasAttribute("data-number"); // true (data-number existe)
element.hasAttribute("disabled"); // false (disabled no existe)
element.getAttributeNames(); // ["id", "data-number", "class"]
element.getAttribute("id"); // "page"