varios type queryselectorall queryselector query es6 elementos all javascript jquery jquery-selectors selectors-api

javascript - type - queryselector varios elementos



jQuery equivalente de querySelector (3)

¿Cuál es el equivalente jQuery de querySelector? La única forma que he encontrado hasta ahora es seleccionar todo y luego elegir la primera selección:

$(selectorString)[0]

Con la expresión anterior, ¿es jQuery lo suficientemente inteligente como para detenerse después de encontrar el primer partido?

Actualización: @Mutnowski sugirió usar eq () y primero, pero después de leer la documentación de jQuery, esos dos métodos parecen tener el mismo inconveniente: jQuery primero obtendrá todas las coincidencias, y luego solo filtrará el primer elemento.


puedes escribir un plugin simple ( notas de compatibilidad )

$.fn.firstMatch = function(sel) { var len = this.length; if (!len) return this; for(var i = 0; i < len; i++){ var match = this[i].querySelector(sel); if (match) return $(match); } return $(); }



Entonces parece que no hay un equivalente de querySelector en jQuery, o en otras bibliotecas que he visto.

La solución consiste en seleccionar todos los elementos coincidentes (equivalentes a querySelectorAll) y luego filtrar el primero. Esto se puede hacer usando [0] (devuelve un nodo html) o como lo sugiere @Mutnowski con eq (0) o primero (devolviendo un objeto jQuery).