一切正常,但是当我想将background-image
添加到不同的元素时,它只是从数组中放入最后一个图像,并使用最后一个图像将css backgorund设置为所有这些图像。
$.get('con.php',function(data) {
var data = JSON.parse(data);
for(i = 0; i < data.length; i++) {
var div = "<div class='nemkec-dev' id='"+data[i].id+"'>"+"<h1>"+ data[i].text+"</h1>"+"<p>"+
data[i].text2+"</p>"+"<img src='images/"+data[i].image+"'/>"+"</div>";
$('body').append(div);
var image = data[i].image;
}
$.each(data, function(i, dat) {
$('.nemkec-dev').css('background-image','url(images/'+dat.image+')');
});
它将图像显示为元素。但是,当我想设置CSS规则时,它不起作用。
只需将last-image
附加到所有后台即可。
答案 0 :(得分:4)
创建var div
时,您可以创建内联样式var div = "<div style='background-image: url(images/"+data[i].image+")'...
答案 1 :(得分:0)
我很确定你想迭代$('.nemkec-dev')
元素。你现在正在做的是迭代背景图像并同时为所有.namkec-dev
div设置背景图像。因此,自然结果是,在此脚本结束后,您将拥有所有.nemkec-dev
元素和最后一个背景图像。
您可以使用 Michael Coker 解决方案并将其与其他变量一起使用,或者执行以下操作:
var i = 0;
$('.nemkec-dev').each(function() {
$(this).css('background-image', data[i].image);
i++;
});