¿Es posible realizar una búsqueda querySelectorAllutilizando múltiples condiciones no relacionadas?
Sí, porque querySelectorAllacepta selectores CSS completos y CSS tiene el concepto de grupos de selectores , lo que le permite especificar más de un selector no relacionado. Por ejemplo:
var list = document.querySelectorAll("form, p, legend");
... devolverá una lista que contiene cualquier elemento que sea un form o p o legend .
CSS también tiene el otro concepto: restringir en función de más criterios. Simplemente combina varios aspectos de un selector. Por ejemplo:
var list = document.querySelectorAll("div.foo");
... devolverá una lista de todos los divelementos que también ( y ) tienen la clase foo, ignorando otros divelementos.
Por supuesto, puedes combinarlos:
var list = document.querySelectorAll("div.foo, p.bar, div legend");
... que significa "Incluir cualquier divelemento que también tenga la fooclase, cualquier pelemento que también tenga la barclase y cualquier legendelemento que también esté dentro de un div".