基本上参考mdn即可
这个函数也是这次才发现的... 以前没用过, 主要作用是从自身开始向根元素查找, 返回第一个满足比较器的元素, 如果没有满足的, 返回null
polyfill
首先从自己开始, 然后进行比较器的判断, 如果为真则表示找到了返回元素, 否则向上级查找, 注意只会向上级查找, 不会查找兄弟节点!
if (!Element.prototype.matches) {
Element.prototype.matches =
Element.prototype.msMatchesSelector ||
Element.prototype.webkitMatchesSelector;
}
if (!Element.prototype.closest) {
Element.prototype.closest = function(s) {
var el = this;
do {
if (Element.prototype.matches.call(el, s)) return el;
el = el.parentElement || el.parentNode;
} while (el !== null && el.nodeType === 1);
return null;
};
}