我有一个jQuery,它从JSON服务器检索数据并将其打印到“output”变量中。它看起来像这样:
$(function() {
$.getJSON('http://127.0.0.1:8000/getTest/', showTodo);
function showTodo(data) {
var output = '';
$.each(data, function(key, item) {
output += item.testName;
$(".studentlink").append('<li><a href="http://www.u2.com/index/home">' + output + '</a></li>');
});
}
});
函数中的foreach循环处理输出变量。此.js文件用于导航栏。当我启动网站时,它看起来像这样:
ITEM_1
------
item_2
ITEM_3
------
item_4
item_5
item_6
但我希望导航栏中的每个元素都能分开。我该怎么办?
答案 0 :(得分:2)
输出将随着数组的每个元素附加到它而增长。我认为你要找的是将item.testName添加为列表项。
如果格式化附加字符串,您会注意到元素不匹配
<li>
<a href="http://www.u2.com/index/home"> //output
</div>
</a>
</li>
有
</div>
没有
<div>
这对我来说更有意义
$(".studentlink").append('<li><a href="http://www.u2.com/index/home">' + item.testName + '</a></li>');
答案 1 :(得分:1)
由于我的分数较少,我无法发表评论所以我正在给你写一个答案。
您正在添加(或连接)结果&#34;输出&#34;变量。
此外,您要将数组中的每个数据附加到此行的列表中:$(".studentlink").append('<li><a href="http://www.u2.com/index/home">' + output + '</div></a></li>');
我认为您需要在添加列表时添加item.testName
。
或者你可以写这一行
每个循环之后$(".studentlink").append('<li><a href="http://www.u2.com/index/home">' + output + '</div></a></li>');
。