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 trialBalakumar Chockalingam
Full Stack JavaScript Techdegree Student 11,960 PointsCan't able to clear task 1
I tried to evaluate the if condition with the input values but can't able to clear the task . Can anyone help me with a hint
There are three list items in the index.html file. We want to be able to enter a 0, 1 or 2 in the text field to embolden the list item with the corresponding index. Can you figure out what condition to put into the if statement to make this code work?
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 (true) {
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 PointsInstead of "true", you need a comparison to check if the current loop variable matches the requested item "index".
Sergio Andrés Herrera Velásquez
Courses Plus Student 23,765 PointsKelinia Johnson Basically, the for loop assigns an index(a position inside the loop, like [0,1,2,3,]) and when they match, which is what the if statement filters for, if the condition is true( index[0] = the value of the variable when they are run through the for loop
Balakumar Chockalingam
Full Stack JavaScript Techdegree Student 11,960 PointsBalakumar Chockalingam
Full Stack JavaScript Techdegree Student 11,960 PointsHi Steven
Thanks for your kind advice i tried the way which you suggested . if (law === index) then not worked . But if i used the counter if (i == index) then worked.
Steven Parker
231,248 PointsSteven Parker
231,248 PointsBalakumar Chockalingam — The "loop variable" I mentioned is "i". "Law" is a different variable also used inside the loop, but not the one defined in the "for" statement.
Anyway, glad I could help. You can mark a question solved by choosing a "best answer".
And happy coding!
Kelinia Johnson
10,189 PointsKelinia Johnson
10,189 PointsCan you help me with showing what you mean?