Javascript(vanilla) - 如何在使用querySelectorAll时指定元素的类型?

时间:2015-06-25 14:10:10

标签: javascript

使用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";
}

现在我也是针对类型设置为提交的输入,无线电等。但我只想将类型设置为文本的输入元素作为目标。

1 个答案:

答案 0 :(得分:3)

您可以在querySelectorAll

的通话中直接使用attribute selector syntax
var inputs = inputGroup.querySelectorAll('input[type="text"]');

然而,这可能会遗漏根本没有指定<input>属性的type个标记。您可以通过在选择器中选择<input>标签来解决此问题:

var inputs = inputGroup.querySelectorAll('input[type="text"],input:not([type])');