Last updated: Mar 4, 2024
Reading timeยท4 min
To get the DOM elements by partially matching an attribute value, pass the
following selector to the querySelectorAll
method - '[title*="box"]'
.
The selector matches all of the DOM elements that have a title
attribute
that contains the string box
.
Here is the HTML for the examples.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>bobbyhadz.com</title> </head> <body> <div title="box1">Box 1</div> <div title="box2">Box 2</div> <script src="index.js"></script> </body> </html>
And here is the related JavaScript code.
const boxes = document.querySelectorAll('[title*="box"]'); console.log(boxes); // ๐๏ธ [div, div] const box = document.querySelector('[title*="box"]'); console.log(box); // ๐๏ธ div
We used the document.querySelectorAll()
method to select all of the DOM elements that have a title
attribute that
contains the string box
.
The string can be located anywhere in the attribute's value to match the query.
The second example uses the document.querySelector() method, which returns the first element within the document that matches the provided selector.
querySelector()
, and if you're looking for a collection of elements, use querySelectorAll()
.You can also make the query more specific by only looking for div
elements
that have an attribute that contains the string box
.
const boxes = document.querySelectorAll('div[title*="box"]'); console.log(boxes); // ๐๏ธ [div, div] const box = document.querySelector('div[title*="box"]'); console.log(box); // ๐๏ธ div
The selectors we passed to the querySelectorAll
and querySelector
methods
would not match any span
or p
elements even if they have a title
attribute
that contains the string box
.
To get the DOM elements by partially matching their class names, pass the
following selector to the querySelectorAll
method - '[class*="box"]'
.
The selector matches all of the DOM elements that have a class name that
contains the string box
.
Here is the HTML for the examples.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>bobbyhadz.com</title> </head> <body> <div class="box1">Box 1</div> <div class="box2">Box 2</div> <script src="index.js"></script> </body> </html>
And here is the related JavaScript code.
const boxes = document.querySelectorAll('[class*="box"]'); console.log(boxes); // ๐๏ธ [div.box1, div.box2] const box = document.querySelector('[class*="box"]'); console.log(box); // ๐๏ธ div.box1
We used the document.querySelectorAll()
method to select all of the DOM elements that have a class that contains the
string box
.
The string can be located anywhere in the class name to match the query.
The second example uses the document.querySelector() method, which returns the first element within the document that matches the provided selector.
querySelector()
, and if you're looking for a collection of elements, use querySelectorAll()
.You can also make the query more specific by only looking for div
elements
that have a class that contains the string box
.
const boxes = document.querySelectorAll('div[class*="box"]'); console.log(boxes); // ๐๏ธ [div.box1, div.box2]
The selector we passed to the querySelectorAll
method would not match any
span
or p
elements even if they have a class that contains the string box
.
To get the DOM elements that have an attribute starting with a specific value,
pass the following selector to the querySelectorAll
method -
'[title^="box"]'
.
The selector matches all of the DOM elements that have a title
attribute that
starts with the string box
.
Here is the HTML for the examples.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>bobbyhadz.com</title> </head> <body> <div title="box1">Box 1</div> <div title="box2">Box 2</div> <script src="index.js"></script> </body> </html>
And here is the related JavaScript code.
const boxes = document.querySelectorAll('[title^="box"]'); console.log(boxes); // ๐๏ธ [div, div] const box = document.querySelector('[title^="box"]'); console.log(box); // ๐๏ธ div
We used the document.querySelectorAll()
method to select all of the DOM elements that have a title
attribute that
starts with the string box
.
^
, which has the same meaning when used in regular expressions.The second example uses the document.querySelector() method, which returns the first element within the document that matches the provided selector.
querySelector()
, and if you're looking for a collection of elements, use querySelectorAll()
.You can also make the query more specific by only looking for div
elements
that have an attribute value that starts with a specific string.
const boxes = document.querySelectorAll('div[title^="box"]'); console.log(boxes); // ๐๏ธ [div, div] const box = document.querySelector('div[title^="box"]'); console.log(box); // ๐๏ธ div
The selectors we passed to the querySelectorAll
and querySelector
methods
would not match any span
or p
elements even if they have a title
attribute
that starts with the string box
.
You can learn more about the related topics by checking out the following tutorials: