我在DIV中显示JSON项目列表。如何重新显示特定项目 徘徊时的第二个DIV。
现在,脚本打印:" + data.items [i] .title +"逐字,而不是实际显示价值。
下面的脚本可以更改什么?提前谢谢。
注意:这是我以前的一个问题,因为它涉及TEXT,而不是图像。
$.getJSON('1zONE.json', function(data) {
globalData = data;
var output="<ul>";
for (var i in data.items) {
output += "<li><h1>" + data.items[i].title + "</h1>" + data.items[i].price + "--" + data.items[i].description.one+"</li>";
}
output += "</ul>";
$("#placeholder").html(output);
$('li').on({
mouseenter: function() {
document.getElementById("placeholder2").innerHTML=" + data.items[i].title + ";
}
});
});
这是JSON文件(1zONE.json):
{"items":[
{
"id":"1",
"thumb":"01_sm",
"thumb2":"01_md",
"title":"Ray",
"price":"Villalobos",
"description": {
"one":"January",
"two":12,
"three":2012
}
},
{
"id":"2",
"thumb":"02_sm",
"thumb2":"02_md",
"title":"John",
"price":"Jones",
"description": {
"one":"April",
"two":28,
"three":2010
}
},
{
"id":"3",
"thumb":"03_sm",
"thumb3":"03_md",
"title":"Jo",
"price":"Jo",
"description": {
"one":"May",
"two":8,
"three":2010
}
},
{
"id":"4",
"thumb":"04_sm",
"thumb3":"04_md",
"title":"Jo4",
"price":"Jo4",
"description": {
"one":"May4",
"two":84,
"three":20104
}
}
]}
答案 0 :(得分:1)
你弄乱了引号,这个:
document.getElementById("placeholder2").innerHTML=" + data.items[i].title + ";
应该是这样的:
document.getElementById("placeholder2").innerHTML = data.items[i].title;
并且因为它在jQuery事件处理程序中,它可能更容易做:
$("#placeholder2").html(data.items[i].title);
修改强>
要解决迭代值不持久的问题,你需要一个闭包,所以我想我会为你写的吗?
$.getJSON('1zONE.json', function(data) {
globalData = data;
var ul = $('<ul />');
for (var key in data.items) {
(function(j) {
var li = $('<li />'),
h1 = $('<h1 />', {text: data.items[j].title});
li.append(h1).append(data.items[j].price + "--" + data.items[j].description.one).on('mouseenter', function() {
$('#placeholder2').html(data.items[j].title);
}).appendTo(ul);
})(key);
}
$("#placeholder").html(ul);
});