![](/img/trans.png)
[英]Vanilla Javascript - How to loop through just elements in the DOM using 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.