我收到一个被解析的JSON数组,每个元素将通过使用Jquery的每个方法迭代该数组而被放入DIV,问题是DIV只存储最后一个元素。
以下是代码:
//I receive a JSON array via AJAX and then I parse it
var arreglo=$.parseJSON(respuesta);
$('#resultadoBusqueda').addClass('divNoEscondido')
//Then I iterate over the array to insert each value and each key as an individual element
$.each(arreglo,function(key,value){
$('#resultadoBusqueda').append('h1').text(key);
$('#resultadoBusqueda').append('h1').text(value);
// The problem is that the div that receives the new elements only stores the last one
})
答案 0 :(得分:1)
您需要为数组中的每个项目创建新的h1
元素,以便
var arreglo = $.parseJSON(respuesta);
var $ct = $('#resultadoBusqueda').addClass('divNoEscondido')
//Then I iterate over the array to insert each value and each key as an individual element
$.each(arreglo, function (key, value) {
$('<h1/>', {
text: key
}).appendTo($ct)
$('<h1/>', {
text: value
}).appendTo($ct)
})
您正在做的是,将文字h1
附加到#resultadoBusqueda
,然后使用当前项的键覆盖#resultadoBusqueda
的整个内容,然后使用当前值覆盖item,所以在循环结束时,只有循环中最后一项的值可见。
答案 1 :(得分:0)
jQuery append方法返回容器。所以你应该写这样的代码:
$('#resultadoBusqueda').append('h1');
$('#resultadoBusqueda h1').text(key);