使用querySelecterAll()时如何指定元素的类型? 例如,我想选择表单中type = text的所有输入字段。不是造型,而是功能。
这就是我现在所拥有的:
var inputGroup = document.getElementById('contactForm');
var inputs = inputGroup.querySelectorAll("input");
for (var i = 0; i < inputs.length; i++) {
inputs[i].addEventListener("blur", checkInput);
}
function checkInput() {
this.value === "" ? this.className = "error" : this.className = "valid";
}
现在我也是针对类型设置为提交的输入,无线电等。但我只想将类型设置为文本的输入元素作为目标。
答案 0 :(得分:3)
您可以在querySelectorAll
:
var inputs = inputGroup.querySelectorAll('input[type="text"]');
然而,这可能会遗漏根本没有指定<input>
属性的type
个标记。您可以通过在选择器中选择<input>
标签来解决此问题:
var inputs = inputGroup.querySelectorAll('input[type="text"],input:not([type])');