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集,因此您不需要将其包装以调用