在 HTML 文档中,我有一个表单,并且表单中有几个输入元素(不是固定编号)。我想得到最后一个输入元素。
我试过:
imputs=document.getElementsByTagName('input');
lastIndex=imputs.length;
imputs[lastIndex] - here I get undefined
我不明白为什么以下代码有效而前一个无效:
lastIndex=10;
imputs[lastIndex]
在 HTML 文档中,我有一个表单,并且表单中有几个输入元素(不是固定编号)。我想得到最后一个输入元素。
我试过:
imputs=document.getElementsByTagName('input');
lastIndex=imputs.length;
imputs[lastIndex] - here I get undefined
我不明白为什么以下代码有效而前一个无效:
lastIndex=10;
imputs[lastIndex]
imputs = document.getElementsByTagName('input');
lastIndex = imputs.length;
imputs[lastIndex - 1]
数组([upd.] 和 NodeList 等)在 JavaScript 中是 0。
另外:i *n* puts。;)
另一种方法是document.querySelector('...')和":last-of-type":
document.querySelector('input:last-of-type').value = '42';
该getElementsByTagName()
函数返回一个NodeList
包含所有具有指定标签名称的元素。通过指定索引,可以使用方括号表示法访问这些元素。
但是,列表中的元素索引从 0 到 N,其中 N 比列表的长度小一。为了获得最后一个元素,您实际上想要imputs[imputs.length - 1];
.
数组是从零开始的。长度会给你一个未定义的项目,因为它在数组的末尾。你应该使用
imputs[lastIndex - 1]