README-es
Tú no necesitas jQuery
El desarrollo Frontend evoluciona día a día, y los navegadores modernos ya han implementado nativamente APIs para trabajar con DOM/BOM, las cuales son muy buenas, por lo que definitivamente no es necesario aprender jQuery desde cero para manipular el DOM. En la actualidad, gracias al surgimiento de librerías frontend como React, Angular y Vue, manipular el DOM es contrario a los patrones establecidos, y jQuery se ha vuelto menos importante. Este proyecto resume la mayoría de métodos alternativos a jQuery, pero de forma nativa con soporte IE 10+.
Tabla de Contenidos
Traducción
Query Selector
En lugar de los selectores comunes como clase, id o atributos podemos usar document.querySelector o document.querySelectorAll como alternativas. Las diferencias radican en:
document.querySelectordevuelve el primer elemento que cumpla con la condicióndocument.querySelectorAlldevuelve todos los elementos que cumplen con la condición en forma de NodeList. Puede ser convertido a Array usando[].slice.call(document.querySelectorAll(selector) || []);Si ningún elemento cumple con la condición, jQuery retornaría
[]mientras la API DOM retornaríanull. Nótese el NullPointerException. Se puede usar||para establecer el valor por defecto al no encontrar elementos, como endocument.querySelectorAll(selector) || []
Nota: document.querySelector y document.querySelectorAll son bastante LENTOS, procuree utilizar getElementById, document.getElementsByClassName o document.getElementsByTagName si desea obtener un mejor rendimiento.
1.0 Buscar por selector
1.1 Buscar por Clase
1.2 Buscar por id
1.3 Buscar por atributo
1.4 Buscar en descendientes
1.5 Elementos Hermanos/Previos/Siguientes
Elementos hermanos
Elementos previos
Elementos siguientes
1.6 Más cercano
Retorna el elemento más cercano que coincida con la condición, partiendo desde el nodo actual hasta document.
1.7 Padres hasta
Obtiene los ancestros de cada elemento en el set actual de elementos que cumplan con la condición, sin incluir el actual
1.8 Formularios
Input/Textarea
Obtener el índice de e.currentTarget en
.radio
1.9 Contenidos de Iframe
$('iframe').contents()devuelvecontentDocumentpara este iframe específicoContenidos de Iframe
Buscar dentro de un Iframe
1.10 Obtener body
1.11 Obtener y establecer atributos
Obtener un atributo
Establecer un atributo
Obtener un atributo
data-
CSS & Estilo
Agregar clase
Quitar Clase
Consultar si tiene clase
Toggle class
2.2 Width & Height
Ancho y Alto son teóricamente idénticos. Usaremos el Alto como ejemplo:
Alto de Ventana
Alto de Documento
Alto de Elemento
2.3 Posición y Offset
Posición
Obtiene las coordenadas actuales del elemento, en relación con el padre.
Offset
Obtiene las coordenadas actuales del elemento, en relación con el documento.
2.4 Posición vertical del scroll
Obtiene la posición vertical actual de la barra de scroll para el elemento.
Manipulación DOM
3.1 Eliminar
Elimina el elemento del DOM
3.2 Texto
Obtener Texto
Obtiene los contenidos de texto combinado del elemento, incluyendo sus decendientes.
Establecer Texto
Establece el contenido del elemento al texto especificado
3.3 HTML
Obtener HTML
Establecer HTML
3.4 Añadir al final
Añadir elemento hijo después del último hijo del elemento padre
3.5 Añadir al inicio
3.6 Insertar Antes
Insertar un nuevo nodo antes de los elementos seleccionados
3.7 Insertar después
Insertar un nuevo nodo después de los elementos seleccionados
3.8 es
Retorna
truesi coincide con el selector de la búsqueda3.9 Clonar
Crea una copia profunda del elemento
3.10 Vaciar
Elimina todos los nodos hijo
3.11 Envolver
Crea una estructura HTML alrededor de cada elemento
3.12 Desenvolver
Elimina los padres de una serie de elementos seleccionados del DOM
3.13 Remplazar con
Remplaza cada elemento en una serie de elementos seleccionados con nuevo contenido.
Ajax
+Fetch API es el nuevo estándar que reemplaza a XMLHttpRequest para efectuar peticiones AJAX. Funciona en Chrome y Firefox, como también es posible usar un polyfill en otros navegadores.
Es una buena alternativa utilizar github/fetch en IE9+ o fetch-ie8 en IE8+, fetch-jsonp para efectuar peticiones JSONP.
4.1 Carga datos desde un servidor y coloca el HTML regresado en el elemento seleccionado.
Eventos
Para un reemplazo completo con namespace y delegación, utilizar https://github.com/oneuijs/oui-dom-events
5.0 Document ready by
DOMContentLoaded5.1 Asignar un evento con "on"
5.2 Desasignar un evento con "off"
5.3 Trigger
Utilidades
La mayoría de las utilidades se encuentran en la API nativa. Otras funciones avanzadas podrían por utilidades de librerías que se centran en la consistencia y rendimiento. Se recomienda lodash como replazo.
6.1 Utilidades Básicas
isArray
Determina si el lemento es un vector(array).
isWindow
Determina si el argumento en una ventana(window).
inArray
Busca un valor específico en el array y retorna su índice (o -1 si no lo encuentra).
isNumeric
Determina si el argumento es un número. Utiliza
typeofpara decidir el tipo deltypeejemplo para mayor precisión.isFunction
Determina si el argumento es objecto función de Javascript.
isEmptyObject
Verifica que un objeto esté vacío(contiene propiedades no enumerables).
isPlainObject
Verifica si un objeto es un objeto plano (creado utilizando “{}” o “new Object”).
extend
Combina los contenidos de dos o mas objetos en el primer objeto. object.assign es una API de ES6, puedes utilizar polyfill también.
trim
Elimina los espacios en blanco del inicio y final de un string.
map
Traslada todos los elementos en un arreglo u objeto a un nuevo arreglo de elementos.
each
Una función genérica de iteración, que puede ser utilizada de manera similar para iterar en objetos o arreglos.
grep
Encuentra los elementos de un arreglo que satisfacen una función filtro.
type
Determina la clase [Class] interna de Javascript de un objeto.
merge
Combina los contenidos de dos o mas arreglos en el primero.
now
Retorna un número que representa la hora actual.
proxy
Toma una función y regresa una nueva que siempre tendrá un contexto particular.
makeArray
Convierte un objeto similar a un arreglo en un verdarero arreglo de Javascript.
6.2 Contenedores
Verifica si un elemento del DOM es descendiente de otro elemento del DOM.
6.3 Globaleval
Ejecuta el mismo código Javascript de manera global.
6.4 parse
parseHTML
Parsea un string ien un arreglo de nodos DOM.
parseJSON
Toma un string de JSON bien formado y retorna el valor resultante de Javascript.
Promesas
Una promesa, representa el resultado eventual de una operación asíncrona. jQuery tiene su propio sistema para utilizar promesas. JavaScript nativo implementa una ligera y mínima API para utilizar promesas de acuerdo con la especificación Promises/A+.
7.1 done, fail, always
donese llama cuando una promesa se resuelve,failse llama cuando una promesa es rechazada,alwaysse llama cuando una promesa no ha sido resuelta o rechazada.7.2 when
whense utiliza para manipular múltiples promesas. Se resolverá cuando todas las promesas sean resueltas y se rechazará si alguna es rechazada.7.3 Deferred
Deferred es una manera de crear promesas.
Animaciones
8.1 Mostrar y ocultar
8.2 Toggle
Muestra u oculta el elemento
8.3 FadeIn & FadeOut
8.4 FadeTo
Ajusta la opacidad del elemento
8.5 FadeToggle
Muestra u oculta el emento animando su opacidad.
8.6 SlideUp & SlideDown
8.7 SlideToggle
Muestra u oculta el elemento con una animación de deslizamiento.
8.8 Animate
Realiza una animación personalizada de un conjunto de propiedades CSS.
Alternativas
Quizá no necesites jQuery - Ejemplos de como hacer un evento común, un elemento, ajax, etc, con Javascript puro.
npm-dom y webmodules - Organizaciones en las puedes encontrar módulos individuales del DOM en NPM.
Navegadores soportados
![]()
![]()
![]()
![]()
![]()
Última ✔
Última ✔
10+ ✔
Última ✔
6.1+ ✔
Licencia
MIT
Last updated