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()" />
我试图在按下键后将焦点从一个输入字段移动到下一个输入字段。 出于某种原因,当我使用 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()" />