我有这个json,我想在我的html5中使用javascript显示“cat_news”,
[
{
"id_news": "3",
"cat_news": "Category Three",
"title": "News Content next",
"content": "testingg\nThis is some content\nwith long post\n",
"media": "7e3e9-komodo.jpg",
"message": "Broadcast message news 3"
}
{
"id_news": "4",
"cat_news": "Category Three",
"title": "News Content next",
"content": "testingg\nThis is some content\nwith long post\n",
"media": "7e3e9-komodo.jpg",
"message": "Broadcast message news 3"
}
]
但是当我使用我的剧本时:
$(data).each(function() {
var title = "<h3 class='title-a'>"+ this.cat_news + "</h3>";
$('#title').append(title);
});
重复显示(多个结果)。 你能帮助我只显示一个结果吗?
由于
答案 0 :(得分:1)
尝试这样:
$(data).each(function(index) {
var title = "<h3 class='title-a'>"+ data[index].cat_news + "</h3>";
$('#title').append(title);
});
此外,你错过了一个&#34;,&#34;在数据数组中的对象之间。
答案 1 :(得分:1)
您的函数运行两次,即对于数组的元素0和1。这会在h3
中生成两个#title
标记。如果这不是预期的行为,您可以使用以下内容直接访问数组对象:data[index].cat_news
,其中index
是数组的索引,从0开始(在您的情况下为0, 1)。
如果您想要最后一个元素的cat_news
,请使用data[data.length - 1].cat_news
。
答案 2 :(得分:0)
如果你只想显示一个元素不使用循环,只需从json数据中获取元素或将id或过滤器传递给函数只返回一个
答案 3 :(得分:0)
选中此Fiddle
$(data).each(function() {
var title = "<h3 class='title-a'>"+ this.cat_news + "</h3>";
$('#title').html(title);
});
而不是追加使用html
但我建议你改变你的JSON,这样你就不会在两个对象中都有cat_news