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 trialRyan Lang
3,140 PointsWhat is supposed to go in the condition for the if statement for DOM Scripting by Example?
I can't figure out what is supposed to be put in the if statement condition.
I don't understand what I am meant to but in the condition for the if statement.
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) {
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
Steven Parker
231,248 PointsYou just need to compare the index with the loop variable (they are both numbers).
Barry Thatcher
12,726 PointsI've previewed the following code and it seems to be working, although it is showing up with the following message: Bummer: It looks like you didn't update the test condition of the if statement correctly
Please could some help me out. Thanks! :)
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 (indexText.value >= 0 && indexText.value <=2 ) {
law.style.fontWeight = 'bold';
} else {
law.style.fontWeight = 'normal';
}
}
});
Steven Parker
231,248 PointsInstead of asking a question as an "answer" to a different one, always start a fresh new question.
But here's a couple of hints: the values you need to compare already exist in the code as numbers, and you need only look for a match and not a range.