В куске кода примера я написал
var as = toArray(document.getElementsByClassName("false")).filter(function (el) {
return el.tagName === "A";
});
И я подумал, что могу заменить это на
var as = document.querySelectorAll("a.false");
Теперь после прочтения следующих фактов
qsa
вместо document.querySelectorAll
, потому что мне лень. Вопрос: Когда я должен предпочесть QSA обычным методам?
Понятно, что если вы делаете qsa("a")
или qsa(".class")
или qsa("#id")
, вы делаете это неправильно, потому что есть методы (byTagName, byClassName, byId), которые лучше.
Также ясно, что qsa("div > p.magic")
является разумным вариантом использования.
Вопрос: Но является ли qsa("tagName.class")
хорошим примером использования QSA?
В качестве дальнейшего отступления есть также эти вещи, называемые NodeIterator
Я задал вопрос о QSA vs NodeIterator