假设我有一个基于任何DOM 元素的数组 selector
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);