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 Interactive Web Pages with JavaScript Traversing and Manipulating the DOM with JavaScript Modifying Elements

Gabriel Kunkel
Gabriel Kunkel
2,566 Points

Why can't I add text this way (see line 7) to the newParagraph?

See line 7 of app.js. This is what I added to the code in order to make the object newParagraph have text between its "p" tags.

app.js
var body = document.body;
var newParagraph = document.createElement("p");
var pleaseEnableParagraph = document.querySelector("#please_enable");

// Add text to the new paragraph

newParagraph.appendChild("JavaScript is enabled.");

//Remove "Please Enable JavaScript" paragraph

body.removeChild(pleaseEnableParagraph);

//Append new paragaph to document

body.appendChild(newParagraph);
index.html
<!DOCTYPE html>
<html>
  <body>
    <p id="please_enable">Please Enable JavaScript</p>

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

1 Answer

Henry Goh
Henry Goh
20,201 Points

Hi Gabriel,
The document.appendChild() only accepts HTML elements as parameters.
In your case, you may try newParagraph.innerHTML = 'JavaScript is enabled.'; instead, as you are trying to change the HTML content within the p element.