querySelectorAll
and getElementsBy*
are two methods used to select elements from the DOM (Document Object Model) in JavaScript.
1) querySelectorAll
: The querySelectorAll method returns a non-live NodeList of all elements matching a CSS selector within the document. The returned NodeList is a static collection of elements and is not updated when the DOM is updated.
Here’s an example of using querySelectorAll
to select all p
elements in the document:
const paragraphs = document.querySelectorAll('p');
2) getElementsBy
: The getElementsBy*
methods return live HTMLCollection of elements that match a specific tag name or class name. The returned HTMLCollection is updated automatically when the DOM is updated.
Here’s an example of using getElementsByTagName
to select all p
elements in the document:
const paragraphs = document.getElementsByTagName('p');
Here’s an example of using getElementsByClassName
to select all elements with the class .example
:
const elements = document.getElementsByClassName('example');
In general, querySelectorAll
is preferred over getElementsBy*
methods for performance and flexibility, as it allows you to use more advanced CSS selectors to select elements from the DOM. However, getElementsBy*
methods are still widely used, especially for simple use cases like selecting elements by tag name or class name.