4

所以,这是代码:

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

这是有效的,但我需要使用类而不是 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"/>

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

有人吗?

4

2 回答 2

7

准确的名称很重要。

改变

getElementByClassName

getElementsByClassName

这是s因为可能有多个元素具有给定类,与具有特定 id 的元素相反。

于 2013-05-24T16:53:49.997 回答
2

可能有许多元素具有完全相同的类名,因此您必须为此进行调整

代替

getElementByClassName

你所要做的

getElementsbyClassName("someclass");

它会返回一个包含所有这些的数组

于 2013-05-24T16:56:15.763 回答