Queryselector删除冗余的逗号分隔项目列表

Get*_*awn 2 javascript html5 input

querySelector中是否有分组功能?目前我必须列出我想要匹配的所有输入类型,这会产生如下的冗余字符串:

form.querySelectorAll('input[type=text], input[type=password], input[type=email], input[type=number]')
Run Code Online (Sandbox Code Playgroud)

有没有办法删除冗余可能看起来像这样:

form.querySelectorAll('input[type={text,password,email,number}]')
Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 6

没有内置的方法可以做到这一点,但很容易构建自己的函数,可以构建这样的查询字符串,允许您编写更多的DRY代码:

const makeQuery = types => types.map(type => `input[type="${type}"]`).join(', ');
console.log(makeQuery(['text', 'password', 'email', 'number']))
Run Code Online (Sandbox Code Playgroud)