简体   繁体   English

getElementsByTagName 排除元素(过滤器)

[英]getElementsByTagName Exclude Elements (Filter)

I have a JavaScript selector like this:我有一个这样的 JavaScript 选择器:

var inputs = document.getElementsByTagName("input");

This works great except that I want to filter out some inputs (the ones with the class of "exists")这很好用,除了我想过滤掉一些输入(那些具有“存在”类的输入)

How can I do this without jQuery?如果没有 jQuery,我怎么能做到这一点?

This is what you need:这就是您所需要的:

var inputs = document.getElementsByTagName("input");
var neededElements = [];
for (var i = 0, length = inputs.length; i < length; i++) {
    if (inputs[i].className.indexOf('exists') >= 0) {
        neededElements.push(inputs[i]);
    }
}

Or, in short (as provided by knee-cola below):或者,简而言之(由下面的knee-cola提供):

let neededElements = [].filter.call(document.getElementsByTagName('input'), el => el.className.indexOf('exists') >= 0);

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

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