1

わかりました、私はそれにいくつかの画像があるリテラル配列を持っています。空のDIVがあり、DIV内の配列内のすべての画像を表示するためにFORLOOPが実行されます。

var icons = [
    '<img src="images/1.png" width="30" height="30"/>',
    '<img src="images/2.png" width="30" height="30"/>',
    '<img src="images/3.png" width="30" height="30"/>'
    ];

    var lol = document.getElementById("div");

    for (var i=0; i<icons.length; i++) {
            lol.innerHTML = icons[i] ;
        }

問題は、最後の画像だけが表示され、すべてではないことです...

4

3 に答える 3

1

これは、前の画像を現在の画像で上書きしているためです。すべての画像を追加/連結する場合は、次を使用します+=

lol.innerHTML += icons[i];

これを処理するためのより良い方法は、DOM処理を使用することです。

var img = document.createElement("img");
img.setAttribute("src", icons[i]);

lol.appendChild(img);
于 2012-11-03T08:05:02.803 に答える
0

あなたがするたびに

lol.innerHTML = icons[i];

divの内部HTMLを。に置き換えますicons[i]。すべてのアイコン要素を連結してから、連結の結果を使用してdivの内部HTMLを設定します。

于 2012-11-03T08:05:53.800 に答える
0

あなたのコードはinnerHTMLを上書きしますあなたはinnerHTMLを追加することができます

これを試して

lol.innerHTML += icons[i];

上記のコードはinnerHTMLを追加します

またはjqueryではappend関数を使用できます

$('#div').append(icons[i]);
于 2012-11-03T08:08:08.700 に答える