--- title: Element.matches() slug: Web/API/Element/matches translation_of: Web/API/Element/matches ---
{{ APIRef("DOM") }}
Метод Element.matches()
вернёт true
или false, в зависимости от того, соответствует ли элемент указанному css-селектору.
В некоторых браузерах данный метод имеет нестандартное название - matchesSelector()
.
var result = element.matches(selectorString)
Результат выполнения - true или false.
selectorString
- строка, содержащая любой css-селектор, к примеру: "div", "*", "#id" и прочие.<div id="one">Первый подопытный</div> <div class="someClass" id="two">Второй подопытный</div> <script type="text/javascript"> var coll = document.querySelectorAll("div"); for (var i = 0, len = coll.length; i < len; i++) { if (coll[i].matches(".someClass")) { alert(coll[i].id+": Я выжил!"); }else{ coll[i].remove(); } } </script>
Вызов alert сработает только для второго элемента div, которому присвоен класс "someClass".
SYNTAX_ERR
Полифил будет работать только в браузерах, поддерживающих метод document.queryselectorAll.
;(function(e) { var matches = e.matches || e.matchesSelector || e.webkitMatchesSelector || e.mozMatchesSelector || e.msMatchesSelector || e.oMatchesSelector; !matches ? (e.matches = e.matchesSelector = function matches(selector) { var matches = document.querySelectorAll(selector); var th = this; return Array.prototype.some.call(matches, function(e) { return e === th; }); }) : (e.matches = e.matchesSelector = matches); })(Element.prototype);
Спецификация | Статус |
---|---|
{{SpecName('DOM WHATWG', '#dom-element-matches', 'Element.prototype.matches')}} | {{Spec2('DOM WHATWG')}} |
{{Compat("api.Element.matches")}}