JavaScript JavaScript and the DOM Making Changes to the DOM Modifying Elements

Sunny Balani
Sunny Balani
6,615 Points

Make sure that you get the value of the selected 'input' element.

keeps giving me the following error

app.js
var inputValue = document.getElementById('linkName');
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>
Steven Parker
Steven Parker
159,129 Points

:mailbox_with_mail: Hi, I got a "request to answer" but it looks like you got several answers just a few minutes after the request!

3 Answers

John Goodwin
John Goodwin
14,699 Points

Hi Sunny,

This is only returning the element with the ID you gave instead of the value of that element. A .value at the end tells it to return the value. So it would look more like this:

var inputValue = document.getElementById('linkName').value;
Dane Parchment
MOD
Dane Parchment
Treehouse Moderator 9,594 Points

document.getElementById('linkName') Actually returns the dom element, which is an object containing multiple different attributes that describe the html element to the DOM.

One such attribute is value. This value attribute returns the text of input elements, and is exactly what we are looking for. So to solve the issue you should return that specific value, and not the whole object.

Solution: document.getElementById('linkName').value

KRIS NIKOLAISEN
PRO
KRIS NIKOLAISEN
Pro Student 43,344 Points

You want to assign the element's value. You are currently assigning the element.