Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在循环中使用jquery链接方法和选择器_Javascript_Jquery - Fatal编程技术网

Javascript 在循环中使用jquery链接方法和选择器

Javascript 在循环中使用jquery链接方法和选择器,javascript,jquery,Javascript,Jquery,是否可以在循环中生成选择器链和方法链 例如,我有一个元素数组: array[0] = '.type1value1, .type1value2, .type1value3'; array[1] = '.type2value1, .type2value2, .type2value3'; array[2] = '.type3value1, .type3value2, .type3value3'; 我不知何故需要使用数组元素作为选择器(通过循环或任何其他可能的方式!)构建一个方法链,以便最终得到以下结

是否可以在循环中生成选择器链和方法链

例如,我有一个元素数组:

array[0] = '.type1value1, .type1value2, .type1value3';
array[1] = '.type2value1, .type2value2, .type2value3';
array[2] = '.type3value1, .type3value2, .type3value3';
我不知何故需要使用数组元素作为选择器(通过循环或任何其他可能的方式!)构建一个方法链,以便最终得到以下结果:-

$('.type1value1, .type1value2, .type1value3').filter('.type2value1, .type2.value2, .type2value3').filter('.type3value1, .type3value2, .type3value3');

如果我理解正确,您甚至不需要执行循环:

var firstSelector = array.shift(); //returns first item in the array and removes it from the original array
var filterSelector = array.join(',');

$(firstSelector).filter(filterSelector);

如果我理解正确,您甚至不需要执行循环:

var firstSelector = array.shift(); //returns first item in the array and removes it from the original array
var filterSelector = array.join(',');

$(firstSelector).filter(filterSelector);

为什么你不能像这样做:

var $test = $(array[0]);

for (var i = 1; i < array.length; i++) {
   $test =  $test.filter(array[i]);
} 
var$test=$(数组[0]);
对于(变量i=1;i

看看您的示例,每个数组元素的值正是您希望作为选择器参数传递给
.filter()

的值。为什么不能执行以下操作:

var $test = $(array[0]);

for (var i = 1; i < array.length; i++) {
   $test =  $test.filter(array[i]);
} 
var$test=$(数组[0]);
对于(变量i=1;i

看看您的示例,每个数组元素的值正是要作为选择器参数传递给
.filter()

的值使用以下函数传递选择器数组

function getSet(arrSet){
    var elements = $(arrSet[0]);
    for (var i = 1; i < arrSet.length; i++) {
        elements = $(elements).filter(arrSet[i]);
    }                       
}
函数getSet(arrSet){
变量元素=$(arrSet[0]);
对于(变量i=1;i
使用以下函数向其传递选择器数组

function getSet(arrSet){
    var elements = $(arrSet[0]);
    for (var i = 1; i < arrSet.length; i++) {
        elements = $(elements).filter(arrSet[i]);
    }                       
}
函数getSet(arrSet){
变量元素=$(arrSet[0]);
对于(变量i=1;i
elements
已经是一个包装的JQuery集,因此您不需要将其包装以调用
。filter
elements
已经是一个包装的JQuery集,因此您不需要将其包装以调用