Uso de los atributos de datos de HTML5
Aprenda a almacenar y recuperar datos específicos de la aplicación directamente en elementos HTML mediante atributos de datos, lo que permite crear interfaces de usuario muy dinámicas y basadas en datos.
Uso de los atributos de datos de HTML5 es una lección gratuita de jQuery Academy en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de jQuery Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de jQuery Academy incluye 3 lecciones en total.
Conozca los atributos de datos de HTML5
HTML5 introdujo los atributos de datos para permitirle almacenar datos personalizados directamente dentro de elementos HTML estándar.
Considérelos compartimentos secretos en sus etiquetas HTML, donde se guarda información adicional que no está destinada a mostrarse. Esto hace que su HTML sea más semántico y que su JavaScript sea más potente, ya que puede asociar los datos directamente a los elementos.
Por qué son útiles los atributos de datos
Antes de los atributos de datos, los desarrolladores solían utilizar clases, identificadores o incluso campos de entrada ocultos para almacenar datos específicos de los elementos. Sin embargo, estos métodos presentan inconvenientes:
- Clases/identificadores: a menudo se utilizan incorrectamente para aplicar estilos o seleccionar elementos, en lugar de almacenar datos.
- Campos de entrada ocultos: saturan el DOM y están destinados al envío de formularios.
Los atributos de datos ofrecen una forma limpia y estándar de insertar datos personalizados directamente donde corresponden.
La regla de nomenclatura de `data-`
Todos los atributos de datos deben comenzar con el prefijo data-. Después del prefijo, puede asignar el nombre que desee al atributo utilizando letras minúsculas, números, guiones y guiones bajos.
data-id="123"data-status="active"data-item-price="9.99"
Este prefijo estándar garantiza que sus atributos personalizados no entren en conflicto con atributos HTML existentes o futuros.
Inserción de datos en HTML
Puede añadir fácilmente atributos de datos directamente en el marcado HTML. Al igual que cualquier otro atributo, tienen un nombre y un valor.
Aquí tiene un ejemplo: añadiremos data-product-id y data-category a un botón.
<button id="buyButton" data-product-id="456" data-category="electronics">
Buy Now
</button>
<script>
// JavaScript goes here later
</script>Obtención de datos con jQuery
jQuery proporciona un método muy práctico, .data(), para recuperar valores de los atributos de datos. Analiza automáticamente el prefijo data-.
Para obtener un atributo específico, pase su nombre (sin data-) a .data().
<button id="myButton" data-user-id="101" data-role="admin">
User Profile
</button>
<script>
$(document).ready(function() {
const userId = $('#myButton').data('user-id');
const userRole = $('#myButton').data('role');
console.log("User ID:", userId);
console.log("User Role:", userRole);
});
</script>Cambio dinámico de datos
El método .data() no solo sirve para leer datos; también puede utilizarlo para actualizar o añadir nuevos atributos de datos dinámicamente.
Pase dos argumentos: el nombre del atributo (sin data-) y el nuevo valor. Esto actualiza la caché interna de datos de jQuery y, en el caso de los atributos de datos de HTML5, también actualiza el propio atributo del DOM.
<div id="statusBox" data-status="pending">
Current Status
</div>
<script>
$(document).ready(function() {
console.log("Initial status:", $('#statusBox').data('status'));
// Update the status
$('#statusBox').data('status', 'complete');
console.log("Updated status:", $('#statusBox').data('status'));
});
</script>Gestión inteligente de tipos de datos
Una de las funciones más útiles de .data() de jQuery es la conversión automática de tipos. Al recuperar atributos de datos, jQuery intenta convertir los valores de texto en tipos de JavaScript más apropiados.
"true"y"false"se convierten en valores booleanos."123"se convierte en un número."[1,2]"y"{name:'X'}"se convierten en matrices u objetos (si son JSON válido).
Esto evita tener que analizar los datos manualmente.
Uso práctico: alternar el estado
Los atributos de datos son perfectos para gestionar el estado de los elementos de la interfaz de usuario. Creemos un botón de alternancia sencillo que cambie su texto y estado según un atributo data-active.
Haga clic en el botón para ver cómo cambia su estado.
<button id="toggleBtn" data-active="false">
Activate Feature
</button>
<script>
$(document).ready(function() {
$('#toggleBtn').on('click', function() {
let isActive = $(this).data('active');
if (isActive) {
$(this).data('active', false);
$(this).text('Activate Feature');
$(this).css('background-color', '#f0f0f0');
} else {
$(this).data('active', true);
$(this).text('Deactivate Feature');
$(this).css('background-color', '#d4edda');
}
console.log("Active state:", $(this).data('active'));
});
});
</script>Consejos para usar atributos de datos
Tenga en cuenta estas prácticas recomendadas para utilizar los atributos de datos de forma limpia y eficaz:
- Úselos para el estado de la interfaz: son ideales para almacenar estados temporales de la interfaz, configuraciones o referencias.
- Evite los datos grandes: no están pensados para almacenar conjuntos de datos enormes; mantenga los valores concisos.
- Use nombres semánticos: elija nombres claros y descriptivos (por ejemplo,
data-user-id, nodata-u). - No sustituyen a los datos del backend: siga obteniendo los datos complejos del servidor; no los inserte todos en la página.
Cuestionario sobre atributos de datos
Considere el siguiente HTML y JavaScript:
<div id="item" data-price="25.50" data-available="true">
Product Info
</div>
<script>
$(document).ready(function() {
const itemDiv = $('#item');
const price = itemDiv.data('price');
const available = itemDiv.data('available');
itemDiv.data('stock', 100);
const stock = itemDiv.data('stock');
console.log(typeof price);
console.log(typeof available);
console.log(stock);
});
</script>¿Qué se mostrará en la consola?
Repaso: atributos de datos al máximo
¡Enhorabuena! Ha aprendido a aprovechar el potencial de los atributos de datos de HTML5 con jQuery.
- Ofrecen una forma limpia de insertar datos personalizados directamente en HTML.
- El método
.data()de jQuery facilita enormemente la recuperación y actualización de estos datos. - La conversión automática de tipos simplifica la gestión de datos.
- Son excelentes para gestionar el estado de la interfaz y crear interfaces dinámicas.
¡Siga practicando y descubrirá innumerables formas de hacer que sus aplicaciones web sean más inteligentes e interactivas!
Preguntas frecuentes
¿La lección «Uso de los atributos de datos de HTML5» es gratis?
Sí — el texto completo de «Uso de los atributos de datos de HTML5» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de jQuery Academy, actualiza a CoddyKit PRO. El curso de jQuery Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Uso de los atributos de datos de HTML5»?
Aprenda a almacenar y recuperar datos específicos de la aplicación directamente en elementos HTML mediante atributos de datos, lo que permite crear interfaces de usuario muy dinámicas y basadas en da… Practicas jQuery Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar jQuery Academy?
No se requiere experiencia previa. jQuery Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.
¿Cuánto tiempo toma la lección «Uso de los atributos de datos de HTML5»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de jQuery Academy?
Sí. Cada lección de jQuery Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Uso de los atributos de datos de HTML5
- Generación dinámica de contenido con datos
- Integración básica de plantillas del lado del cliente