0

($.cookie('cIDlist")次のような配列です2, 0, 1, 2, 4

関数は意図したとおりに機能しますが、どういうわけか、関数imageToSlotNr()は整数とコンマの両方を値として使用します。区切りやコンマを無視するか、コンマを削除するにはどうすればよいですか? そして、なぜこれが起こっているのですか?

$("#vkorzinu").click(function(){
    SLOTNUM = 1;
    $.each($.cookie('cIDlist'), function(){
        imageToSlotNr(this);
        SLOTNUM++;
    });
});

function imageToSlotNr(idnum){
  if(SLOTNUM<9){
  $("#slot"+SLOTNUM).css({"backgroundImage":"url('http://localhost/musli/"+idnum+"ingrid.png'    )","background-size":"70px"});
  } else {
       alert("full");
}};
4

1 に答える 1

1

文字$.each列内の文字を繰り返し処理しています。

繰り返す前に配列に変換する必要があります。ここでは、JSONとして解析すると便利です。

var arr = $.parseJSON("[" + $.cookie('cIDlist') + "]");

$.each(arr, function(){
    imageToSlotNr(this);
    SLOTNUM++;
});

.split()数値を文字列として使用する場合は、JSONデータとして解析する代わりに使用できます。

var arr = $.cookie('cIDlist').split(/\s*,\s*/);

$.each(arr, function(){
    imageToSlotNr(this);
    SLOTNUM++;
});
于 2012-11-07T22:19:09.213 に答える