Element.querySelector()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
El método querySelector() de la intrefaz Element devuelve el primer descendiente del elemento sobre el cual es invocado que coincida con el o los selectores especificados.
Sintáxis
elemento = elementoBase.querySelector(selectores);
Parametros
selectores-
Es el grupo de selectores que servirán para filtrar los elementos descendientes del
ElementelementoBase; debe tener una sintáxis CSS válida o se producirá una excepciónSyntaxError. Devuelve el primer elemento que encuentre que coincida con el grupo de selectores.
Valor devuelto
Devolverá el primer descendiente del elemento elementoBase que coincida con el grupo de selectores especificado. Para la comparación se recorrerá la jerarquía completa de elementos, incluyendo a aquellos que no son descendientes del elementoBase; en otras palabras, los selectores se aplican primero al documento completo, no sólo al elementoBase, creando una lista inicial de elementos potencialmente seleccionables. Después se examina dicha lista para comprobar qué elementos son descendientes del elementoBase. El método querySelector() devolverá el primero de dichos elementos descendientes.
Si no hubiera coincidencias, devolverá el valor null.
Excepciones
SyntaxError-
Los
selectoresespecificados no son válidos.
Ejemplos
Vamos a ver unos cuantos ejemplos.
Encontrar un elemento a traves del valor de sus atributos
En este primer ejemplo, obtendremos el primer elemento <style> del body del documento HTML que no tenga atributo "type" o cuyo atributo "type" sea igual a "text/css":
var el = document.body.querySelector(
"style[type='text/css'], style:not([type])",
);
Toda la jerarquía cuenta
El ejemplo que mostramos a continuación, demuestra que la jerarquía de todo el documento se tiene en cuenta cuando se aplican los selectores, de modo que se tienen en cuenta todos los niveles que se encuentran fuera de la jerarquía del elementoBase para localizar coincidencias.
HTML
<div>
<h5>Original content</h5>
<p>
inside paragraph
<span>inside span</span>
inside paragraph
</p>
</div>
<div>
<h5>Output</h5>
<div id="output"></div>
</div>
JavaScript
var baseElement = document.querySelector("p");
document.getElementById("output").innerHTML =
baseElement.querySelector("div span").innerHTML;
Resultado
El resultado es el siguiente:
Podemos ver que el selector "div span" coincide con el elemento <span>, aunque baseElement excluye el elemento div al no ser parte de su selector.
Más ejemplos
Puedes ver más ejemplos sobre el formato apropiado para los selectores aquí Document.querySelector().
Especificaciones
| Specification |
|---|
| DOM> # ref-for-dom-parentnode-queryselectorall①> |
Compatibilidad con navegadores
Loading…
Véase también
- Localizando elementos DOM usando selectores
- Selectores de atributo en la guia de CSS
- Selectores de atributo en MDN Learning
Element.querySelectorAll()Document.querySelector()yDocument.querySelectorAll()DocumentFragment.querySelector()yDocumentFragment.querySelectorAll()ParentNode.querySelector()yParentNode.querySelectorAll()- Code snippets for querySelector
- Otros métodos que toman selectores:
element.closest()yelement.matches().