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 Modifying Elements

David Donohue
David Donohue
1,110 Points

Having trouble setting the a tag to the value of the inputValue variable

I feel like none of the examples in the videos provide the proper instruction for the questions asked. Ive watched the section 5 times already and still can't figure it out...

app.js
let inputValue = document.querySelector('input').value;
a = inputValue.value
index.html
<!DOCTYPE html>
<html>
    <head>
        <title>DOM Manipulation</title>
    </head>
    <link rel="stylesheet" href="style.css" />
    <body>
        <div id="content">
            <label>Link Name:</label>
            <input type="text" id="linkName">
            <a id="link" href="https://teamtreehouse.com"></a>
        </div>
        <script src="app.js"></script>
    </body>
</html>

1 Answer

Nate Jonah
Nate Jonah
20,981 Points

The problem with your second line is you're not targeting the a tag correctly. You could do it in the same way that you did it in the first line, using querySelector. As far as I know, the reason .value didn't work is because that method is for getting data from form elements. To set the text content of the a tag all you need to do is use the textContent method. This sets the text between the opening and closing a tags in the html.

let inputValue = document.querySelector('input').value;
document.querySelector('a').textContent = inputValue;
David Donohue
David Donohue
1,110 Points

Thanks Nate, I was just coming to update my question that I had figured out, exactly like you said. It just wasn't clicking that I was not targeting the element correctly. I appreciate your explanation!!