2

そのため、配列をjqueryセレクターに入力しようとしていますが、何らかの理由でまったく機能しません。1st以下のいくつかのアプローチを試しました:

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

1 に答える 1

5

配列要素を 1 つの文字列に結合します。

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(...);

とはいえ、ID の代わりに単純に共通クラスを使用する方がよいでしょう。数値のようなインデックスが必要だと思うときはいつでも、代わりにクラスを使用する方が良いかもしれないという強いヒントです。

于 2013-04-01T04:03:55.203 に答える