是否可以在循环内生成一系列选择器和方法?
例如,我有一系列元素:
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');
答案 0 :(得分:1)
如果我理解正确,你甚至不需要做一个循环:
var firstSelector = array.shift(); //returns first item in the array and removes it from the original array
var filterSelector = array.join(',');
$(firstSelector).filter(filterSelector);
答案 1 :(得分:1)
为什么你不能做这样的事情:
var $test = $(array[0]);
for (var i = 1; i < array.length; i++) {
$test = $test.filter(array[i]);
}
查看您的示例,每个数组元素的值正是您要作为选择器参数传递给.filter()
答案 2 :(得分:1)
使用以下函数将选择器数组传递给它......
function getSet(arrSet){
var elements = $(arrSet[0]);
for (var i = 1; i < arrSet.length; i++) {
elements = $(elements).filter(arrSet[i]);
}
}