Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialMark Repass
10,346 PointsA little confused.
I know it needs to be a condition but I am having trouble understanding what they want. I tried putting in index which works sort of when you preview and try typing in a number it emboldens everything.
const laws = document.getElementsByTagName('li');
const indexText = document.getElementById('boldIndex');
const button = document.getElementById('embolden');
button.addEventListener('click', (e) => {
const index = parseInt(indexText.value, 10);
for (let i = 0; i < laws.length; i += 1) {
let law = laws[i];
// replace 'false' with a correct test condition on the line below
if (index) {
law.style.fontWeight = 'bold';
} else {
law.style.fontWeight = 'normal';
}
}
});
<!DOCTYPE html>
<html>
<head>
<title>Newton's Laws</title>
</head>
<body>
<h1>Newton's Laws of Motion</h1>
<ul>
<li>An object in motion tends to stay in motion, unless acted on by an outside force.</li>
<li>Acceleration is dependent on the forces acting upon an object and the mass of the object.</li>
<li>For every action, there is an equal and opposite reaction.</li>
</ul>
<input type="text" id="boldIndex">
<button id="embolden">Embolden</button>
<script src="app.js"></script>
</body>
</html>
2 Answers
Rohald van Merode
Treehouse StaffHi Mark Repass,
Great question! You'll want to adjust the conditional on line 12 of the JavaScript file. In there you'll want to check if the index
(the number the user entered in the input field) is equal to the i
which is the current iteration of the loop. Changing to condition like so should get your code working:
if (index === i) {
law.style.fontWeight = 'bold';
} else {
law.style.fontWeight = 'normal';
}
Mark Repass
10,346 PointsThat makes so much more sense now. Thanks for showing me the way.