繁体   English   中英

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

[英]Javascript (vanilla) - How to specify the type of an element when using querySelectorAll?

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

现在,我还将输入类型设置为提交,广播等的目标。但是我只想将类型设置为文本的输入元素作为目标。

您可以在对querySelectorAll的调用中直接使用属性选择器语法

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

但是,这可能会丢失根本没有指定type属性的<input>标记。 您也可以通过选择选择器中没有<input>标签的方法来解决此问题:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM