Javascript jQuery按变量筛选JSON

Javascript jQuery按变量筛选JSON,javascript,jquery,json,wordpress,text,Javascript,Jquery,Json,Wordpress,Text,我正在WordPress中构建af自定义商店定位器 我试图过滤一些属性值与af变量匹配的JSON对象 我有一个由WordPress生成的导航栏: <ul id="store_list"> <a class="cat-item" href="#">Denmark</a> <a class="cat-item" href="#">Austria</a> <a class="cat-item" href="#"&

我正在WordPress中构建af自定义商店定位器

我试图过滤一些属性值与af变量匹配的JSON对象

我有一个由WordPress生成的导航栏:

<ul id="store_list">
    <a class="cat-item" href="#">Denmark</a>
    <a class="cat-item" href="#">Austria</a>
    <a class="cat-item" href="#">Germany</a>
</ul>
当我点击导航中的链接时,我不想抓取例如“丹麦”,并在JSON中搜索每个商店,其中“国家”是“丹麦”。然后我不想把它输出到一个有class.post摘录的div中。到目前为止,我已经:

$(document).ready(function(){
    $('#store_list .cat-item').click(function(e){
        e.preventDefault();
        var loc = $(this).text();
        var json = JSON.parse(jsonStr);
        var map_data = $.grep( json, function( n, i ) {
            return n.country === loc;
        });

        $('.post-excerpt').text(JSON.stringify(map_data));
    });
});
问题是它只返回“[]”,但如果我设置var loc=“danemk”,代码就可以工作。所以我无法将loc变量解析为grep函数


谢谢。

console.log(loc)
中单击
grep
callbackHi。控制台返回我单击的国家的名称。var map_数据返回[]。如果
console.log(n.country,loc)
,该怎么办?价值观是什么?价值观是:“丹麦-奥地利”,新线是“奥地利”,新线是“德国-奥地利”,新线是“丹麦-奥地利”,我设法解决了这个问题。我将click selector更改为$('#store_list a'),然后它工作了!谢谢你的帮助!
$(document).ready(function(){
    $('#store_list .cat-item').click(function(e){
        e.preventDefault();
        var loc = $(this).text();
        var json = JSON.parse(jsonStr);
        var map_data = $.grep( json, function( n, i ) {
            return n.country === loc;
        });

        $('.post-excerpt').text(JSON.stringify(map_data));
    });
});