revision:
The matches() method of the Element interface tests whether the element would be selected by the specified CSS selector.
The method returns true if an element matches a specific CSS selector(s), and false if not.
element.matches(selectors)
Parameters:
selectors : required. a string containing valid CSS selectors to test the Element against. One or more (comma separeted) CSS selectors to match. The returned element is the first found in the document
<p id="demo" class="container"></p> <script> const element = document.getElementById("demo"); let text; if (element.matches(".container")) { text = "This element matches the CSS selector"; } else { text = "This element does not match the CSS selector"; } document.getElementById("demo").innerHTML = text; </script>
<div> <ul id="birds"> <li>Orange-winged parrot</li> <li class="endangered">Philippine eagle</li> <li>Great white pelican</li> </ul> <p id="match-1"></p> </div> <script> const birds = document.querySelectorAll("li"); for (const bird of birds) { if (bird.matches(".endangered")) { console.log(`The ${bird.textContent} is endangered!`); document.getElementById("match-1").innerHTML = `the ${bird.textContent} is endangered`; } } </script>
I like reading the JavaScript Guide.
I like vacuuming.
<div> <div id= "container"> <p class="selected">I like reading the JavaScript Guide.</p> <p>I like vacuuming.</p> </div> <p id="match-2"></p> </div> <script> let container = document.getElementById('container'); let children = container.children; for (const child of children) { if (child.matches('.selected')) { console.log(`”${child.textContent}” is selected.`); document.getElementById("match-2").innerHTML = `"${child.textContent}" is selected.`; } } </script>
<div> <p id="myElement" class="container"></p> </div> <style> .container { background-color: tomato; color: white; padding: 2vw;} </style> <script> var element = document.getElementById("myElement"); if (element.matches(".container, .wrapper")) { element.innerHTML = "This element matches either the \".container\" CSS selector or the \".wrapper\" selector."; } else { element.innerHTML = "This element does not match any of the selectors."; } </script>