($.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");
}};
答案 0 :(得分: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++;
});