Javascript 为什么不';t div背景在第一个循环后更新?
我正在调用一个函数,将几个容器div的背景设置为以前上传的图像。我使用Ajax获取图像名称的列表(数据),如果成功,我会尝试将每个div的背景设置为正确的图像。接收到的数据是正确的,警报以正确的值每次弹出12次-但是,实际上只设置了第一个div背景Javascript 为什么不';t div背景在第一个循环后更新?,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,我正在调用一个函数,将几个容器div的背景设置为以前上传的图像。我使用Ajax获取图像名称的列表(数据),如果成功,我会尝试将每个div的背景设置为正确的图像。接收到的数据是正确的,警报以正确的值每次弹出12次-但是,实际上只设置了第一个div背景 success: function(data) { var images = data.split(','); var i = 0; for(i = 0; i < 12; i++){
success: function(data) {
var images = data.split(',');
var i = 0;
for(i = 0; i < 12; i++){
$("#mm"+(i+1).toString()).css('background-image', 'url(uploads/'+images[i]+')');
$("#mm"+(i+1).toString()).css('background-size', '100%');
alert("set #mm"+(i+1).toString()+" "+images[i]);
}
}
HTML代码如下(共有12个):
这是因为在执行拆分后,所有图像路径中都有一个空格,但第一个路径中没有空格
data = "IMG00808-20120824-1820.jpg, 860296_10151614864350672_1992010847_o.jpg, gentidona.jpg, 4220961.JPG, 4220961.JPG, 4220961.JPG, 40433_422126195671_675790671_5399343_5684255_n.jpg, mum.jpg, IMG_5500.JPG, IMG00817-20120824-1826.jpg, 4220961.JPG, IMG00019-20110219-1844.jpg";
var images = data.split(',');
// this will result in the following array
images[0] = 'IMG00808-20120824-1820.jpg';
images[1] = ' 860296_10151614864350672_1992010847_o.jpg';
// ... etc
您可以在使用图像[x]值之前对其进行修剪,以防止出现此问题:
images[i] = images[i].trim();
你能给我们看看你的HTML代码吗?还有ajax响应数据吗?我已经编辑了上面的问题!我刚刚测试了第一次,但这不起作用,所以我正在调查…啊哈!你真是个天才!让我试着摆脱它,然后我会更新你…好的,非常感谢你,我不认为我会得到它!不客气。第二只眼睛对这些虫子总是有帮助的
IMG00808-20120824-1820.jpg, 860296_10151614864350672_1992010847_o.jpg, gentidona.jpg, 4220961.JPG, 4220961.JPG, 4220961.JPG, 40433_422126195671_675790671_5399343_5684255_n.jpg, mum.jpg, IMG_5500.JPG, IMG00817-20120824-1826.jpg, 4220961.JPG, IMG00019-20110219-1844.jpg
data = "IMG00808-20120824-1820.jpg, 860296_10151614864350672_1992010847_o.jpg, gentidona.jpg, 4220961.JPG, 4220961.JPG, 4220961.JPG, 40433_422126195671_675790671_5399343_5684255_n.jpg, mum.jpg, IMG_5500.JPG, IMG00817-20120824-1826.jpg, 4220961.JPG, IMG00019-20110219-1844.jpg";
var images = data.split(',');
// this will result in the following array
images[0] = 'IMG00808-20120824-1820.jpg';
images[1] = ' 860296_10151614864350672_1992010847_o.jpg';
// ... etc
images[i] = images[i].trim();