我怎样才能按类而不是"GetElementById"获取元素?

Fáb*_*ani 3 javascript getelementbyid getelementsbyclassname

所以,这是代码:

<a id="link" href="https://url.com/">URL:</a>
<input id="value"/>

<script type="text/javascript">
    var link= document.getElementById('link');
    var input= document.getElementById('value');
    input.onchange=input.onkeyup= function() {
        link.search= 'extendurl/'+encodeURIComponent(input.value);
    };
</script>
Run Code Online (Sandbox Code Playgroud)

这是有效的,但我需要使用类而不是ID.我试试这个:

<script type="text/javascript">
    var link= document.getElementByClassName("link")[0];
    var input= document.getElementByClassName("value")[0];
    input.onchange=input.onkeyup= function() {
        link.search= 'extendurl/'+encodeURIComponent(input.value);
        link.firstChild.data= link.href;
    };
</script>

<a class="link" href="https://url.com/">URL:</a>
<input class="value"/>
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,但这不起作用.

有人?

Den*_*ret 6

确切的名称很重要.

更改

getElementByClassName
Run Code Online (Sandbox Code Playgroud)

getElementsByClassName
Run Code Online (Sandbox Code Playgroud)

有一个s因为可能有多个元素带有一个给定类,与具有特定id的元素相反.