Javascript 将焦点移至 keyup getElementById Works getElementsByClassName 不

Javascript to move focus onkeyup getElementById Works getElementsByClassName does not

我试图在按下键后将焦点从一个输入字段移动到下一个输入字段。 出于某种原因,当我使用 getElementById 时它有效,但当我将其更改为 getElementByClassName 时它不起作用。

作品:

<input id="char1" type="text" maxlength="1" onkeyup="document.getElementById('char2').focus()" />
<input id="char2" type="text" maxlength="1" onkeyup="document.getElementById('char3').focus()" />
<input id="char3" type="text" maxlength="1" onkeyup="document.getElementById('char1').focus()" />

无效:

<input class="char1" type="text" maxlength="1" onkeyup="document.getElementsByClassName('char2').focus()" />
<input class="char2" type="text" maxlength="1" onkeyup="document.getElementsByClassName('char3').focus()" />
<input class="char3" type="text" maxlength="1" onkeyup="document.getElementsByClassName('char1').focus()" />

那是因为 类 是作为数组检索的,所以你必须通过索引访问它,而且你犯了一个错误,它是 document.getElementsByClassName 而不是 Element

<input class="char1" type="text" maxlength="1" onkeyup="document.getElementsByClassName('char2')[0].focus()" />
<input class="char2" type="text" maxlength="1" onkeyup="document.getElementsByClassName('char3')[0].focus()" />
<input class="char3" type="text" maxlength="1" onkeyup="document.getElementsByClassName('char1')[0].focus()" />