反正有没有简化我的jQuery Selector代码?

时间:2012-09-01 12:28:05

标签: jquery jquery-selectors

你能帮我简化这个选择器。

以下是代码:

$("input[name='grpQuestion1'], input[name='grpQuestion2'], input[name='grpQuestion4']").change(function (event) {
    /* Some code here */ 
});

6 个答案:

答案 0 :(得分:3)

试试这个

$('input[name^="grpQuestion"]').change(function (event) { /* Some Code Here */ });

jquery有一些属性选择

类似于$("[attribue^=value]")元素,其属性以值字开头。 属性以值词结尾的$("[attribue$=value]")个元素。 $("[attribue*=value]")个元素属性包含值作为部分或单词或确切单词。 $("[attribue~=value]")个元素,其属性包含值为精确词

答案 1 :(得分:0)

$('input[name^="grpQuestion"]').change(/** your code */)

它的作用基本上是选择以“grpQuestion”

开头的所有元素

答案 2 :(得分:0)

你可以试试这个

$('input[name^="grpQuestion"]').change(function (event) { /* Some Code Here */ });

表示

输入以name =“grpQuestion”开头

答案 3 :(得分:0)

试试这个

$("input[name^=grpQuestion]").change(function (event) {
/* Some Code Here */ });

答案 4 :(得分:0)

要选择名称属性以“grpQuestion”开头的前四个输入元素,可以使用以下jQuery选择器:

$('input[name^="grpQuestion"]:lt(4)')

答案 5 :(得分:0)

你在评论中说你需要具体的三个名字,所以

 var names = ['grpQuestion1', 'grpQuestion2', 'grpQuestion4'];
 $.each(names, function(i, v) { 
   $('input[name='+v+']').change(function (event) {
        /* Some Code Here */ 
   });
 }); 

会使维护更容易。