Last updated: Mar 5, 2024
Reading timeยท3 min
To change the document's text color on click:
click
event listener to an element.document.body.style.color
property to a specific color.Here is the HTML for the example.
<!DOCTYPE html> <html lang="en"> <head> <title>bobbyhadz.com</title> <meta charset="UTF-8" /> </head> <body> <div>Some text here</div> <button id="btn">Button</button> <script src="index.js"></script> </body> </html>
And here is the related JavaScript code.
const btn = document.getElementById('btn'); btn.addEventListener('click', function onClick(event) { // ๐๏ธ Change text color globally document.body.style.color = 'darkgreen'; // ๐๏ธ Change text color for clicked element only // event.target.style.color = 'salmon'; });
click
event listener to the button, so a function is invoked every time the button is clicked.Each time the button is clicked, we set the document.body.style.color
property
to darkgreen
and change the text color globally.
To change an element's text color on click:
click
event listener to the element.event
object to a variable in the function.event.target.style.color
property to the specific text color.const btn = document.getElementById('btn'); btn.addEventListener('click', function onClick(event) { // ๐๏ธ Change text color for the clicked element only event.target.style.color = 'salmon'; });
Every time the button is clicked, its own text color gets set.
We used the
target property
on the event
object. The target
property is a reference to the object
(element) on which the event was dispatched.
event.target
gives us access to the DOM element the user clicked.You can console.log
the target
property to see the DOM element which was
clicked by the user.
const btn = document.getElementById('btn'); btn.addEventListener('click', function onClick(event) { console.log(event.target); // ๐๏ธ Change text color for clicked element only event.target.style.color = 'salmon'; });
If you click on the button and look at your console
output, you'll see the
button
element being logged.
To change another element's text color on click:
click
event listener to one of the elements.style.color
property of the
other element.Let's add an id
to the div
element, so we can select it.
<!DOCTYPE html> <html lang="en"> <head> <title>bobbyhadz.com</title> <meta charset="UTF-8" /> </head> <body> <div id="box">Some text here</div> <button id="btn">Button</button> <script src="index.js"></script> </body> </html>
And here is the related JavaScript code.
const btn = document.getElementById('btn'); btn.addEventListener('click', function onClick(event) { const box = document.getElementById('box'); box.style.color = 'salmon'; });
Each time the button is clicked, we change the div
's text color to salmon
.
I've also written an article on how to change text color on mouseover.
You can learn more about the related topics by checking out the following tutorials: