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 trial

JavaScript jQuery Basics Understanding jQuery Events and DOM Traversal Adding New Elements to the DOM

BO YANG
seal-mask
.a{fill-rule:evenodd;}techdegree
BO YANG
Full Stack JavaScript Techdegree Student 3,366 Points

why does this not work

var $newStudent = $('.student-list').append('<li>Sam Smith</li>');

index.html
<!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>
app.js
var $newStudent = $('.student-list').append('<li>Sam Smith</li>');
BO YANG
seal-mask
.a{fill-rule:evenodd;}techdegree
BO YANG
Full Stack JavaScript Techdegree Student 3,366 Points

In 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.

2 Answers

Hey 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
Steven Parker
229,732 Points

It 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.

Steven Parker
Steven Parker
229,732 Points

That'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.