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 Making Changes to the DOM Modifying Elements

Kyrstin Lawson
seal-mask
.a{fill-rule:evenodd;}techdegree
Kyrstin Lawson
Full Stack JavaScript Techdegree Student 10,851 Points

How to select "info" class within "p" element and set it's textContent?

Created a variable called inputValue, now I'm trying to set the textContent of the "info" class in the "p" element to that value.

Here's the code I thought should work:

const inputValue = document.querySelector("input").value; // this is showing as correct

// then I'm trying to use the below function to set the textContent
() => {
document.querySelector("p .info").textContent = inputValue
}
app.js
const inputValue = document.querySelector("input").value;
() => {
  document.querySelector("p .info").textContent = inputValue;
}
index.html
<!DOCTYPE html>
<html>
    <head>
      <title>DOM Manipulation</title>
    </head>
    <link rel="stylesheet" href="style.css" />
    <body>
      <div id="content">
        <label for="linkText">Link Text:</label>
        <input type="text" id="linkText" value="sample text">
        <p class="info"></p>
      </div>
    <script src="app.js"></script>
  </body>
</html>

1 Answer

document.querySelector("p .info") selects an element with the class info that is contained in a p element. The challenge is expecting an element that both is a p element and has the class info, which would be document.querySelector("p.info")

() => {
document.querySelector("p .info").textContent = inputValue
}

creates an anonymous function, but never calls it. To call the function, you could change it to

(() => {
document.querySelector("p .info").textContent = inputValue
}) ()

with parentheses around the function, and () at the end to call it.

The challenge does not require you to use a function. You could simplify your code to document.querySelector("p .info").textContent = inputValue