Скажем, у меня есть массив элементов DOM, основанный на любойselector
Можно ли использовать querySelectorAll для массива элементов?
var elems = document.querySelectorAll(selector);
Я понятия не имею, что включено в elems
, но давайте предположим, что elems.length > 0
Я хотел бы использовать querySelectorAll (или некоторая эквивалентная функция) на elems
, чтобы найти все элементы, соответствующие дополнительному селектору.
// example: find all buttons with class `foo` within `elems` array
var buttons = elems.querySelectorAll("button.foo");
Это не работает (по понятным причинам), но я не уверен в том, как это сделать иначе :(
Вот обертка я создал для работы с принятым от ответа @Tibos
// Element.matches wrapper
(function(e){
if (typeof e.matches !== "function") {
e.matches = e.webkitMatchesSelector ||
e.mozMatchesSelector ||
e.msMatchesSelector ||
e.oMatchesSelector ||
e.matchesSelector;
}
})(Element.prototype);
вы задаете похожи, как это: [DEMO] (http://jsfiddle.net/ashish41191/RanWJ/) –