--- 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')}} |
{{CompatibilityTable}}
Особенность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Поддерживается , но имеет иное название |
{{CompatVersionUnknown}} имеет название |
{{CompatGeckoDesktop("1.9.2")}} имеет название mozMatchesSelector [1] |
9.0 имеет название msMatchesSelector |
11.5 имеет название oMatchesSelector ,а с 15.0 - webkitMatchesSelector |
5.0 известен под названием webkitMatchesSelector |
Unprefix version | {{CompatChrome("34")}} | {{CompatGeckoDesktop("34")}} | {{CompatUnknown}} | {{CompatUnknown}} | 7.1 |
Особенность | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Поддерживается , но имеет иное название | {{CompatUnknown}} | {{CompatGeckoMobile("1.9.2")}} имеет название mozMatchesSelector [1] |
{{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Unprefix version | {{CompatUnknown}} | {{CompatGeckoMobile("34")}} | {{CompatUnknown}} | {{CompatUnknown}} | 8 |
До появления Gecko 2.0 вызов с недопустимым селектором возвращал false
, а не вызывал исключение...