querySelector
and querySelectorAll
Examples¶
querySelector
¶
The general syntax for this method is:
let element = document.querySelector("CSS selector");
Uses a CSS selector pattern and CSS selector rules to find a matching element. Returns the FIRST matching element.
If NO match is found, null
is returned.
CSS Selector Examples
class selector:
document.querySelector(".class-name");
tag selector:
document.querySelector("div");
id selector:
document.querySelector("#main");
Tip
You can use any valid CSS selector with querySelector
. The selectors can be simple like
querySelector("div")
or complex like querySelector("#main div .summary")
.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <!DOCTYPE html>
<html>
<head>
<title>DOM Examples</title>
<style>
.main {
font-weight: bold;
}
</style>
</head>
<body>
<h1>querySelector Example</h1>
<p id="description" class="main">
querySelector's power is exceeded only by it's mystery.
</p>
<div id="response">
It's not that mysterious, querySelector selects elements
using the same rules as CSS selectors.
</div>
<script>
// selects the <p> using class selector
let main = document.querySelector(".main");
console.log(main.innerHTML.trim());
main.style.color = "blue";
// Selects the <div> using tag selector
let response = document.querySelector("div");
console.log(response.innerHTML.trim());
response.style.color = "red";
</script>
</body>
</html>
|
Console Output
querySelector's power is exceeded only by it's mystery.
It's not that mysterious, querySelector selects elements
using the same rules as CSS selectors.
querySelectorAll
¶
The general syntax for this method is:
let elements = document.querySelectorAll("CSS selector");
Uses a CSS selector pattern and CSS selector rules to find a matching elements. Returns
ALL elements that match the selector. If NO match is found, null
is returned.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | <!DOCTYPE html>
<html>
<head>
<title>DOM Examples</title>
<style>
.red {
color: red;
}
.purple {
color: purple;
}
</style>
</head>
<body>
<h1>querySelectorAll Example</h1>
<h2>Red Fruits</h2>
<ul class="red">
<li>Strawberry</li>
<li>Raspberry</li>
<li>Cherry</li>
</ul>
<h2>Purple Fruits</h2>
<ul class="purple">
<li>Blackberry</li>
<li>Plums</li>
<li>Grapes</li>
</ul>
<script>
// Selects ALL the <li> elements and adds text to each one
let listItems = document.querySelectorAll("li");
for (let i=0; i < listItems.length; i++) {
listItems[i].innerHTML += " is yummy"
}
// Selects the PURPLE <li> elements and make them bold
let purpleItems = document.querySelectorAll(".purple li");
for (let i=0; i < purpleItems.length; i++) {
purpleItems[i].innerHTML += "!!!"
}
// Console log the contents of the first items in each list
// Remember that querySelector returns only the FIRST match
let firstRed = document.querySelector(".red li");
console.log("contents of first red li:", firstRed.innerHTML);
let firstPurple = document.querySelector(".purple li");
console.log("contents of first purple li:", firstPurple.innerHTML);
</script>
</body>
</html>
|
Console Output
contents of first red li: Strawberry is yummy
contents of first purple li: Blackberry is yummy!!!