Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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 7,082 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