innerHTML没有得到更新

时间:2013-06-17 10:34:02

标签: javascript html

我正在尝试从字符串中获取数据,我想在我的html中显示它。

以下是我试过的代码

var jsn = {
        "channels": [{
            "name": "video1",
                "image": "images/bodyguard.jpg"
        }, {
            "name": "video2",
                "image": "images/bodyguard.jpg"
        }, {
            "name": "video3",
                "image": "images/bodyguard.jpg"
        }, {
            "name": "video4",
                "image": "images/bodyguard.jpg"
        }, {
            "name": "video5",
                "image": "images/bodyguard.jpg"
        }]
    };
    var id = document.getElementById("menu_list");
    var inHtm = "";
    var channels = jsn.channels.length;
    var cha = jsn.channels;
    alert("channels : " + channels);

    if (channels != undefined) {
        for (var i = 0, len = channels; i < len; ++i) {
            var item = cha[i].name;
            alert(item);
            //var name = item.name;
            var image = cha[i].image;

            inHtm += '<div class="menu"><a href="javascript:void(0);" onkeydown="Main.keyDown();" >';

            inHtm += '<img src="' + image + '"/>';
            inHtm += '</a></div>';
        }
        alert(inHtm);
        in1.innerHtml = inHtm;
    }

My Fiddle

它将值分配给inHtm但我的innerHTML没有得到更新。我想在我的HTML中显示图像

1 个答案:

答案 0 :(得分:1)

此:

 in1.innerHtml = inHtm;

应该是:

 id.innerHTML = inHtm;

您的对象为id而非in1且属性为innerHTML而非innerHtml

另外,我建议使用console.log()代替alert()进行调整。警报很痛苦,特别是在循环中,使用console.log()可以转储整个对象,而警报只会显示“对象”。

Corrected fiddle