我有这样的json文件:
[
{"category":"food","id":"07","name":"hey"},
{"category":"not","id":"06","name":"hey1"},
{"category":"food","id":"05","name":"hey2"},
{"category":"not","id":"04","name":"hey3"}
]
如何获得所有"名称"有"类别":"食物"? 我这样想,但它无法正常工作。
$.getJSON( "test.json", function( data ) {
var items = [];
$.each( data, function( key, val ) {
if (val.category = "food"){
items.push( "<li>" + val.name + "</li>" );
}
});
$( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo( "div" );
});
答案 0 :(得分:0)
您忘记使用===
运算符(您可以使用==
代替,但使用===
更好的做法)。您编写的代码将包含对象中的每个元素,因为if (val.category = "food" )
将始终评估为true,它实际上将更改category
值。
修复如下。
if (val.category === "food"){
items.push( "<li>" + val.name + "</li>" );
}