我知道我可以有多种选择:
$("input,submit,textarea")
有没有办法将这3个绑定在一起
$('input[name="input"]')
$('input[name="submit"]')
$('input[name="textarea"]')
或者我必须像
那样写 $('input[name="input"],input[name="submit"],input[name="textarea"]')
我正在寻找像$('input[name="input"&"submit"&"textarea"]
这样的东西(当然这不是有效的),不写'输入'#39; 3次。
答案 0 :(得分:1)
没有“简单的方法”来实现你想要的。如果你不想改变DOM并保存性能,那么逐一编写它们可能是最好的解决方案,但是如果你有很多元素,那么将它们全部写下来真的很痛苦。
最好的解决方案是将它们与一个公共类分组,然后选择所有相关元素。
如果你不想这样,你可以使用filter
方法,但是,它会更慢,因为它在所有输入上循环。
$('input[name]').filter(function(){
return $.inArray(this.name, ['test1','test2', '...']) > -1;
});
您所要做的就是在数组中写入不同的输入名称。