将一个id数组输入到jquery选择器中

Kel*_*eko 2 arrays jquery jquery-selectors

所以我试图将一个数组输入到jquery选择器中,由于某种原因我根本无法使它工作.我在第一次尝试了几种方法:

var id = ["#id1", "#id2", "#id3"];
$(id[0]).css('color', '#000');
Run Code Online (Sandbox Code Playgroud)

我的另一个尝试:

var id = [];
for(var x = 0;x < 3; x++){
id[x] = x;
$("#id"+id[0]).css('color', '#000');
}
Run Code Online (Sandbox Code Playgroud)

所以我想知道解决这个问题的方法可能是什么?

我用它的例子:

for(var x = 0;x < 28; x++){
function randomizerlet(){
randlet[x] = Math.floor(Math.random()*156);
timesletrun[x] += 1;
if (masterlet[randlet[x]] == letter[x]){
$('#flipL4_1').css('background-position', masterlet[randlet[x]]);
clearInterval(intervallet[x]);
}
else{
    if(timesletrun[x] == 300){
        masterlet[randlet[x]] = letter[x];
        $('#flipL4_1').css('background-position', masterlet[randlet[x]]);
        clearInterval(intervallet[x]);
        }
    else{
        $('#flipL4_1').css('background-position', masterlet[randlet[x]]);
        }}


        }
var intervallet[x] = setInterval(function() {
 randomizerlet();}, 10);
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*all 5

将数组元素连接成一个字符串:

var id = ["#id1", "#id2", "#id3"];
$(id.join(',')).css('color', '#000');
Run Code Online (Sandbox Code Playgroud)

或者使用循环:

for (var i=0; i<id.length; i++) {
    $(id[i]).css(...);
}
Run Code Online (Sandbox Code Playgroud)

或者是另一种循环:

$.each(id, function (i, elt) {
    $(elt).css(...);
});
Run Code Online (Sandbox Code Playgroud)

或者更环保的一种循环:

var $elements = $.map(id, function (elt, i) {
    return $(elt);
});
$elements.css(...);
Run Code Online (Sandbox Code Playgroud)

总而言之,简单地使用公共类而不是ID可能会更好.任何时候你认为你需要类似数字的索引,这是一个强烈的暗示,你可能会更好地使用类.