Adriano Godoy Adriano Godoy - 3 months ago 15
Javascript Question

Check if any element in a NodeList has a specific class using ES6

I want to check if any element in a NodeList has a specific class.

For example, with jQuery I just do something like:

//if any .item element has active class, return true
var isActive = $(".item").hasClass("active");


Only with Javascript I could do, but with a slightly longer code:



var isActive = false;
var items = Array.from(document.getElementsByClassName("item"));

items.forEach(function(item, index) {
if(item.className.indexOf('active') > 0) {
isActive = true;
}
});

alert(isActive);

<div class="item">1</div>
<div class="item">2</div>
<div class="item active">3</div>
<div class="item">4</div>





How can I do this with ES6? There is a helper for selectors?

Thanks!

Answer

It has nothing to do with ES2015, but you can use document.querySelector() much like the basic jQuery API:

 var isActive = document.querySelector(".item.active") != null;