How do I use querySelectorAll with specific class names?
Answers:
You can use
querySelectorAll
in JavaScript to select elements in the DOM that have specific class names. The method takes a CSS selector as its argument, allowing you to specify one or more class names.Here’s a quick guide on how to use
querySelectorAll
with specific class names:-
Selecting a single class: If you want to select all elements with a specific class, you can use the class selector
.
followed by the class name. For example, to select all elements with the classexample-class
:const elements = document.querySelectorAll('.example-class');
-
Selecting multiple classes: If you want to select elements that have multiple specific classes, you can combine class selectors. For example, to select all elements that have both
class1
andclass2
:const elements = document.querySelectorAll('.class1.class2');
This selects elements that contain both classes.
-
Selecting elements with multiple class names (or): If you want to select elements that have one class or another (using OR logic), you can separate the class selectors with a comma. For example, to select elements that have either
class1
orclass2
:const elements = document.querySelectorAll('.class1, .class2');
-
Using descendant selectors: You can also select elements based on their relationship in the DOM. For example, to select all elements with the class name
child-class
that are within an element with the class nameparent-class
:const elements = document.querySelectorAll('.parent-class .child-class');
-
Iterating through the selected elements:
querySelectorAll
returns a NodeList, which you can iterate through usingforEach
or other looping constructs:const elements = document.querySelectorAll('.example-class'); elements.forEach(element => { console.log(element); // Do something with each element });
Example
Here’s a complete example using multiple classes:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Example</title> </head> <body> <div class="example-class">Item 1</div> <div class="example-class example-class-2">Item 2</div> <div class="example-class">Item 3</div> <div class="example-class-2">Item 4</div> <script> const elements = document.querySelectorAll('.example-class'); elements.forEach(element => { console.log(element.textContent); // Logs: "Item 1", "Item 2", "Item 3" }); const multipleClasses = document.querySelectorAll('.example-class.example-class-2'); multipleClasses.forEach(element => { console.log(element.textContent); // Logs: "Item 2" }); </script> </body> </html>
In this example, you can see how to select elements using specific class names and how to work with the selected elements in JavaScript.
-
Related Questions:
-
How can I select elements by multiple class names using querySelectorAll?
-
What is the syntax for querySelectorAll with class names?
-
How do I filter elements by class name with querySelectorAll?
-
Can querySelectorAll select elements with dynamic class names?
-
How to loop through elements selected with querySelectorAll and specific classes?
-
What is the difference between querySelector and querySelectorAll for classes?
-
How do I use querySelectorAll to find child elements with specific class names?
-
Can I use querySelectorAll to select elements by class and ID simultaneously?
-
How to handle empty results with querySelectorAll when using class names?
-
Are there performance concerns when using querySelectorAll with complex selectors?