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 trialBO YANG
Full Stack JavaScript Techdegree Student 3,366 Pointswhy does this not work
var $newStudent = $('.student-list').append('<li>Sam Smith</li>');
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<h2>Student List</h2>
<ul class="student-list">
<li>James McAvoy</li>
<li>Alena Holligan</li>
<li>Wade Christensen</li>
<li>Matt Krzyzynski</li>
</ul>
<script
src="jquery-3.2.1.min.js"></script>
<script src="app.js"></script>
</body>
</html>
var $newStudent = $('.student-list').append('<li>Sam Smith</li>');
2 Answers
sarah shelden
8,332 PointsHey Bo, I had difficulty with this challenge too. It didn't work for some reason when I set it to var. I changed it to let, and then it worked.
let $newStudent = $('<li>Sam Smith</li>');
Steven Parker
231,261 PointsThe choice of "let" or "var" should not matter. What does matter is that the value you are assigning here is the list item and not the list itself.
BO YANG
Full Stack JavaScript Techdegree Student 3,366 Pointsmy jQuery was wrong. but it works now with both let and var.
Steven Parker
231,261 PointsIt looks like you're setting the variable to the result of performing an append operation. The variable will then contain a reference to the list itself.
But in task 1, you should create the new list item element and store it in the variable. Then in task 2, you will use that variable to append the element to the list. The contents of the variable will still be the list item.
BO YANG
Full Stack JavaScript Techdegree Student 3,366 PointsEven if I remove the var it still doesn't work
Steven Parker
231,261 PointsThat's not the issue. Do I understand correctly that you passed task 1 and made this code for task 2?
The code you use to pass task 1 should remain as it is, the task 2 code should be done as a separate line. And on the second line you will use the variable but not change it.
BO YANG
Full Stack JavaScript Techdegree Student 3,366 PointsBO YANG
Full Stack JavaScript Techdegree Student 3,366 PointsIn app.js, use jQuery to create a new <li> element containing the student name "Sam Smith", and save your new element to a variable called $newStudent.