Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向json数组中的元素添加不同的背景图像_Javascript_Jquery_Css_Json - Fatal编程技术网

Javascript 向json数组中的元素添加不同的背景图像

Javascript 向json数组中的元素添加不同的背景图像,javascript,jquery,css,json,Javascript,Jquery,Css,Json,一切都正常,但当我想将背景图像添加到不同的元素时,只需将数组中的最后一个图像放入,并使用最后一个图像将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+"'>

一切都正常,但当我想将背景图像添加到不同的元素时,只需将数组中的最后一个图像放入,并使用最后一个图像将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+')');  
    }); 
$.get('con.php',函数(数据){
var data=JSON.parse(数据);
对于(i=0;i”+”;
$('body')。追加(div);
var image=data[i]。image;
}
$。每个(数据、函数(i、dat){
$('.nemkec dev').css('background-image','url(images/'+dat.image+'));
}); 
它将图像显示为元素。但是,当我想设置css规则时,它不起作用。
只需将
last image
添加到所有图像作为背景。

当创建
var div
时,您可以创建一个内联样式
var div=“当创建
var div
时,您可以创建一个内联样式
var div=“我非常确定您想要迭代
$('.nemkec dev'))
元素。您现在所做的是迭代背景图像,并立即为所有
.namkec dev
div设置背景图像。因此,自然的结果是,在该脚本结束后,您拥有所有
.nemkec dev
元素和最后一个背景图像

您可以使用Michael Coker的解决方案,并将其与其他变量一起使用,或者执行以下操作:

var i = 0;
$('.nemkec-dev').each(function() {
  $(this).css('background-image', data[i].image);
  i++;
});

我很确定您想要迭代
$('.nemkecdev')
元素。您现在所做的是迭代背景图像,并立即为所有
.namkec dev
div设置背景图像。因此,自然的结果是,在该脚本结束后,您拥有所有
.nemkec dev
元素和最后一个背景图像

您可以使用Michael Coker的解决方案,并将其与其他变量一起使用,或者执行以下操作:

var i = 0;
$('.nemkec-dev').each(function() {
  $(this).css('background-image', data[i].image);
  i++;
});

您能否发布示例
数据
并使其成为工作片段?您希望实现什么?为什么要创建用div包装的图像元素,并将其背景设置为相同的图像!?:/如上所述,目标不明确。最后一个图像设置为所有元素,因为您的选择器
'.nemkec dev'
匹配所有元素。每次迭代都会设置每个元素,最后一个元素就是剩余的元素。最后一个
$。每个(…
循环遍历数据表,并将所有
.nemkec dev
背景设置为同一个图像。最终它将是最后一个图像(设置为所有图像)。您能否发布示例
数据
并使其成为工作片段?您希望实现什么?为什么要创建以div包装的图像元素,并将其背景设置为相同的图像!?:/如上所述,目标不明确。最后一个图像设置为所有元素,因为您的选择器
'.nemkec dev'
匹配所有元素。每次迭代都会设置每个元素,最后一个元素就是剩余的元素。最后一个
$。每个(…
循环遍历数据表,并将所有
.nemkec dev
背景设置为同一个图像。最终它将是最后一个图像(设置为所有图像)。或者如果他想把它们分开,就用这个代替。
$(div).appendTo('body').css('background-image','url(images/'+data[i].image+');
。当然,在循环内部。或者如果他想把它们分开,就用这个代替。
$(div).appendTo('body').css('background-image','url(images/'+data[i].image+'))当然是在循环内部。
i
的值是多少?值得注意的是,这也会生成内联样式。@MichaelCoker是的,你完全正确。内联是指在用html代码创建div时使用它们。
i
的值是多少?值得注意的是,这将生成内联样式,以o、 @MichaelCoker是的,你完全正确。内联是指在用html代码创建div时使用它们。