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 JavaScript and the DOM (Retiring) Making Changes to the DOM DOM Manipulation

Append an element to another

Hello

I need to append the newParagraph element to a contentDiv

Any suggestions - cant see where Iā€™m going wrong.

app.js
var contentDiv = document.getElementById('content');
var newParagraph = document.createElement('p');
newParagraph.className = 'panel';
newParagraph.appendChild('div');
index.html
<!DOCTYPE html>
<html>
    <head>
        <title>DOM Manipulation</title>
    </head>
    <link rel="stylesheet" href="style.css" />
    <body>
        <div id="content">

        </div>
        <script src="app.js"></script>
    </body>
</html>

1 Answer

Sylvester Hofstra
Sylvester Hofstra
12,022 Points

When you want to append the newParagraph to the contentDiv you should do it like this:

var contentDiv = document.getElementById('content');
var newParagraph = document.createElement('p');

newParagraph.className = 'panel';
contentDiv.appendChild(newParagraph);

You mixed up the element on the DOM and the node you wanted to append. I myself made the mistake to put single quotes around my newParagraph variable so it also didn't work :)!