多选择器

时间:2014-10-07 17:36:28

标签: jquery jquery-selectors

我知道我可以有多种选择:

 $("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次。

1 个答案:

答案 0 :(得分:1)

没有“简单的方法”来实现你想要的。如果你不想改变DOM并保存性能,那么逐一编写它们可能是最好的解决方案,但是如果你有很多元素,那么将它们全部写下来真的很痛苦。

最好的解决方案是将它们与一个公共类分组,然后选择所有相关元素。

如果你不想这样,你可以使用filter方法,但是,它会更慢,因为它在所有输入上循环。

$('input[name]').filter(function(){
    return $.inArray(this.name, ['test1','test2', '...']) > -1;
});

您所要做的就是在数组中写入不同的输入名称。