Можно ли выполнить поиск, querySelectorAllиспользуя несколько не связанных между собой условий?
Да, потому что querySelectorAllпринимает полные селекторы CSS, а в CSS есть концепция групп селекторов , которая позволяет указать более одного несвязанного селектора. Например:
var list = document.querySelectorAll("form, p, legend");
... вернет список, содержащий любой элемент, который является form или p или legend .
У CSS есть и другая концепция: ограничение на основе большего количества критериев. Вы просто комбинируете несколько аспектов селектора. Например:
var list = document.querySelectorAll("div.foo");
... вернет список всех divэлементов, которые также ( и ) имеют класс foo, игнорируя другие divэлементы.
Вы, конечно, можете комбинировать их:
var list = document.querySelectorAll("div.foo, p.bar, div legend");
... что означает «Включите любой divэлемент, который также имеет fooкласс, любой pэлемент, который также имеет barкласс, и любой legendэлемент, который также находится внутри div.»