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

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...

LIGA.php 2.4.1

Informo que acabamos de re-lanzar LIGA.php ahora en versión 2.4.1 , ya que se corrigió un error de regresión producido en el nuevo conector para la librería MySQLi. Dicho error evitaba la correcta creación de los selectores de llaves foráneas automáticos en los formularios del objeto HTML. Agradezco a mi alumna Abi quien descubrió e informó del error, ojalá todos mis alumnos y personas que utilizan LIGA.php y/o LIGA.js hicieran lo mismo, así arreglaríamos más rápido cualquier detalle detectado. Si alguien está utilizando LIGA.php en cualquiera de sus versiones 2.0 o superior se recomienda actualizar inmediatamente a la última versión estable , ya que posee mejoras en rendimiento y se han subsanado varios bugs a lo largo del tiempo. Seguiremos al tanto y les recuerdo que pueden comentar, compartir y reportar fallas por cualquiera de los medios a la mano, además les vuelvo a pasar el link al formulario de registro para participar en el proyecto, hasta la próxima!

Diseño de interfaces (Prototipos o wireframes)

Ahora vengo a exponer un par de aplicaciones que se vuelven indispensables a la hora de diseñar interfaces de usuario. La primera se llama prototyper de la empresa justinmind, la cual pone a nuestra disposición de forma gratuita, una gran cantidad de elementos para mostrarle al cliente una interfaz viva, incluso capaz de interactuar como si realmente estuviera usando la aplicación. Permite seleccionar el tipo de aplicación, donde incluye: Website iPhone iPad Android Posee una gran variedad de herramientas, permitiendo probar los formularios, links, listas, tablas, etc. además podemos compartir en línea nuestros diseños, aunque ésto último sólo será posible por 30 días de forma gratuita. Finalmente mencionar que desde la página podemos descargar gran cantidad widgets que extenderán la cantidad de paletas para colocar en nuestras interfaces. Otra aplicación similar es Pencil , la cual se puede usar como extensión de Firefox o descargar como aplicación ejecutable , es m...