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

var inputValue = document.getElementById('linkName');
<!DOCTYPE html>
        <title>DOM Manipulation</title>
    <link rel="stylesheet" href="style.css" />
        <div id="content">
            <label>Link Name:</label>
            <input type="text" id="linkName">
            <a id="link" href=""></a>
        <script src="app.js"></script>
Steven Parker
Steven Parker
171,327 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
17,917 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
Dane Parchment
Treehouse Moderator 9,727 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

Pro Student 47,480 Points

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