1

文字列からデータを取得しようとしていますが、それを 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;
    }

私のフィドル

inHtm に値を割り当てていますが、innerHTML が更新されていません。画像をhtmlに表示したい

4

1 に答える 1

1

これ:

 in1.innerHtml = inHtm;

次のようにする必要があります。

 id.innerHTML = inHtm;

あなたのオブジェクトはそうではidなくin1、プロパティはそうではありinnerHTMLませんinnerHtml

またconsole.log()、の代わりにデバッグに使用することをお勧めしalert()ます。アラートは特にループで苦痛であり、console.log()オブジェクト全体をダンプできますが、アラートは「オブジェクト」のみを表示します。

修正されたフィドル

于 2013-06-17T10:38:58.100 に答える