是否可以为$ .data()使用JSON属性?

时间:2013-02-04 15:03:56

标签: jquery json

我正在尝试将JSON推入div。

data [i] .restaurant.name理想地在div中作为文本。 data [i] .restaurant.ambienceRating理想地在div中作为.data(“ambienceRating”)

无论如何,这就是我想要实现的目标。

$.getJSON('data.json', function(data) {
        console.log(data[0].restaurant.ambienceRating);
        var output="<ul>";
        for (var i=0; i < data.length; i++) {
            output+="<li id=" + i + ">" + data[i].restaurant.name + "</li>";
        }

        output+="</ul>";
        document.getElementById("films").innerHTML=output;

});

我应该如何以及在哪里推动氛围以便以后能够检索它? 我尝试将$( this ).data("ambienceRating", data[i].restaurant.ambienceRating)放入for循环中,但它以[Object object]字符串形式出现。

编辑: 在for循环中记录(this)会返回data.json对象

data [i] .restaurant.ambienceRating是“10”(字符串,NaN)

http://jsfiddle.net/techii/JtQyr/

1 个答案:

答案 0 :(得分:1)

通过向li添加数据属性将数据添加到li。

$.getJSON('data.json', function(data) {
        console.log(data[0].restaurant.ambienceRating);
        var output="<ul>";
        for (var i=0; i < data.length; i++) {
            output+="<li data-ambience-rating='" + data[i].restaurant.ambienceRating + "' id='" + i + "'>" + data[i].restaurant.name + "</li>";
        }

        output+="</ul>";
        document.getElementById("films").innerHTML=output;

});

现在您可以稍后使用console.log( $(oneli).data("ambienceRating") )

访问它