我想使用document.getElementsByTagName('input')
为输入列表设置所需(或取消设置)。
有可能吗?
我试过了:
document.getElementsByTagName('input').required = false;
或(用于其他目的)
document.getElementsByTagName('input').value = ""
但它似乎不起作用。
此外:是否可以捕获某种类型的输入(即文本或广播)?
谢谢!!! ObOnKen
答案 0 :(得分:2)
getElementsByTagName()
返回元素集合,因此您需要遍历集合...
var elements = document.getElementsByTagName('input');
for(var i = 0; i < elements.length; i++)
{
if(elements[i].type == "text")
{
elements[i].value = "";
}
}
答案 1 :(得分:1)
getElementsByTagName()
返回实时HTMLCollection。如果您想对返回的每个项目执行某些操作,则必须明确地迭代它们:
var inputs = table.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
inputs[i].required = false;
}
但是,如果使用某些库,您可以使用您期望的语法对集合的每个内容(或者,如某些库称之为选择)进行操作。
答案 2 :(得分:0)
您应该使用for
循环来迭代所有input
,因为document.getElementsByTagName
会返回带有给定标记名称的HTMLCollection
个元素。
var values = document.getElementsByTagName('input');
for (var i = 0; i < values.length; i++) {
values[i].required = false;
}
要捕获某种类型的输入:
var textInput = document.querySelector("input[type=text]");
querySelector
返回文档中的第一个元素。