Ir al contenido principal

Selectores CSS en JQuery

Después de la rápida introducción a JQuery publicada hace días, ahora quiero exponer el uso de los selectores CSS. JQuery utiliza los selectores para acceder a los elementos de la página, lo cual es muy sencillo en comparación con la API DOM aprobada por la W3C. Además de los selectores CSS aprobados JQuery añade algunos que mejoran la funcionalidad, aunque el navegador web utilizado no los implemente de forma nativa.
A continuación los tipos más básicos de selectores:
  • Etiqueta: Basta con escribir el nombre de una etiqueta para que JQuery seleccione todos los elementos de ese tipo, por ejemplo:
    • $("p") // todos los elementos de párrafo.
    • $("div") // todas las capas o DIV de la página.
    • $("h1") // todos los elementos de encabezado H1.
    • $("div p") // todos los elementos de párrafo que estén dentro de un DIV.
  • ID: Mediante el id de los elementos podemos acceder directamente a ellos, con ésto sólo se obtendrá un elemento ya que el id no debe repetirse en la página, para su uso se escribe # (gato), ejemplos:
    • $("#elemento") // El primer nodo que tenga el id="elemento".
    • $("#principal div") // Selecciona todos los DIVs que estén dentro del elemento con id="principal".
  • Clases: Mediante el atributo class de los nodos, podemos seleccionar todos los elementos que contengan una clase determinada, para eso se utiliza . (punto), ejemplo:
    • $(".grandes") // Obtendrá todos los elementos con class="grandes".
    • $("#principal div.cabecera") // Se pueden combinar los tipos de selectores, así obtendrá todos los DIVs con class="cabecera" que estén dentro del elemento con id="principal".
Mientras más específicos seamos con los selectores obtendremos mejores resultados, además JQuery ofrece algunos modificadores que filtrarían los elementos, dependiente de algunas características por ejemplo, qué ocurriría si queremos seleccionar el campo de formulario que posee el enfoque el usuario o el cursor, entonces usaríamos: $("input:focus"), a continuación menciono algunos:
  • :button - Selecciona sólo los elementos button o input type="submit", etc.
  • :checkbox - Sólo los input type="checkbox".
  • :checked - Elementos radio o checkbox seleccionados por el usuario.
  • :contains(texto) - Elementos que contengan el texto dentro de ellos.
  • :disabled - Los elementos des-habilitados mediante la propiedad disabled="disabled".
  • :header - Sólo elementos de encabezado H1, H2, etc.
  • :not(selector) - Descarta los elementos que coincidan con selector que puede tratarse de otro selector simple o complejo.
  • :visible - Sólo elementos visibles.
Sólo por mencionar algunos, además se pueden combinar, por ejemplo:
$("input:visible:disabled:not(.yono)")

Además se pueden usar múltiples selectores en una llamada, por ejemplo:
$("#uno, #otro, .varios, div, select, input:visible:disabled")

Finalmente mencionaré aquellos donde se pueden verificar los atributos y sus valores, así seleccionar sólo aquellos que cumplan ciertas condiciones, por ejemplo si contiene data="algo" entonces
$("[data=algo]"), ejemplos:
  • [atributo*=valor] - Selecciona sólo aquellos que posean la cadena valor dentro del atributo, por ejemplo: <a atributo="valor1" />
  • [atributo^=valor] - Debe comenzar con la cadena valor.
  • [atributo$=valor] - Debe terminar con la cadena valor.
  • [atributo!=valor] - Debe ser diferente a la cadena valor.
Seguiremos la serie de entradas de JQuery donde expondré más de sus curiosidades, yendo de lo básico a lo complejo, hasta la próxima!

Comentarios

Entradas más populares de este blog

LIGA.php 3.3.3 disponible con Composer

El microframework LIGA.php se ha incorporado al mundo de los gestores automatizados de dependencias (paquetes), en este caso se ha integrado con Composer . Después de instalar Composer se puede usar el siguiente comando dentro del directorio de nuestro proyecto web para obtener la versión más avanzada: composer require oscargalileo/liga3 Si se desea especificar una versión de LIGA.php, a partir de la 3.3.3: composer require oscargalileo/liga3 3.3.3 Si todo está correcto veremos que se ha creado el directorio vendor/  (con varios archivos dentro) y los archivos composer.json (si no existía ya) y composer.lock ; se recomienda leer la documentación de Composer para más detalles. La ventaja principal de un gestor de dependencias como Composer, es que si se fueron agregando librerías poco a poco, llegará un punto en que nuestro archivo composer.json contendrá toda la información de los paquetes implementados, además de que al instalar un paquete se agregará junto a todas ...

Google a la mexicana

Ahora sólo para comentar la novedad de que Google intenta celebrar la independencia de México con esta divertida animación: Desde su página de inicio con el dominio MX:  https://www.google.com.mx/ Para mi gusto no es el mejor Doodle que se haya realizado pero es bueno saber que al menos Google considera que México posee independencia, pese a los problemas sociales y políticos por los que atraviesa el país. Esta es la primera vez que en el Blog se publica algo con un sentido político, ya que la idea es variar en los temas y poder expresar nuestras ideas, siéntanse libres de comentar su opinión al respecto, hasta la próxima.

Introducción a jquery.liga.js

Como se mencionó en la entrada anterior , jquery.liga.js es un plugin para JQuery que reúne algunas funciones con el objetivo de facilitar el desarrollo front-end  (Javascript) de una aplicación web. Actualmente el tamaño de jquery.liga.js es mínimo, la versión de desarrollo pesa 26.7 Kb, mientras la versión minimizada 12.2 Kb y la versión comprimida tan sólo 4.05 Kb. Para comenzar a usar la biblioteca descargue la última versión estable de jquery.liga.js de la página oficial del proyecto: http://code.google.com/p/galileo-liga/ a continuación descomprima y coloque el directorio completo en algún lugar de pruebas para sus aplicaciones web, así puede usar antes la plataforma de ejemplo, la cual trae consigo algunas demostraciones de código fuente. Para que LIGA funcione correctamente incluya en su página los siguientes archivos: <link rel="stylesheet" media="all" href="LIGA.css" /> <script type="text/javascript" src=" //cod...