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

标签 jquery arrays jquery-selectors

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

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

我的其他尝试:

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

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

我使用它的示例:

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);
}

最佳答案

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

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

或者使用循环:

for (var i=0; i<id.length; i++) {
    $(id[i]).css(...);
}

或者不同类型的循环:

$.each(id, function (i, elt) {
    $(elt).css(...);
});

或者更奇特的循环:

var $elements = $.map(id, function (elt, i) {
    return $(elt);
});
$elements.css(...);

尽管如此,简单地使用公共(public)类而不是 ID 可能会更好。每当您认为需要类似数字的索引时,这都强烈暗示您最好使用类来代替。

关于jquery - 将 id 数组输入到 jquery 选择器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15737457/

相关文章:

java - 从 ArrayList 中删除一个元素并将该元素移动到数组 java

javascript - 如何使用 querySelectorAll javascript 访问具有相同 id 的第二个 div?

c# - 创建数组属性是否有意义?

Java Minimal Json如何在一个对象中嵌套多个数组?

javascript - 在页面更改时保留连接对象

javascript - 混合使用 overflow-x、FireFox 和 Javascript 时出现问题

javascript - 为什么 jquery 选择器从旧值而不是新值中选择元素

javascript - 使用 jquery 选择表中的 TR。

javascript - jquery 按钮点击重定向

javascript - 如何在 JavaScript 中替换/\with\