Javascript 循环和数组问题

Javascript 循环和数组问题,javascript,arrays,loops,for-loop,Javascript,Arrays,Loops,For Loop,好的,我有一个文字数组,其中有一些图像。我有一个空DIV,其中将执行FOR循环以显示DIV中数组中的所有图像 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"/&g

好的,我有一个文字数组,其中有一些图像。我有一个空DIV,其中将执行FOR循环以显示DIV中数组中的所有图像

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] ;
        }
var图标=[
'',
'',
''
];
var lol=document.getElementById(“div”);

对于(var i=0;i,这是因为您正在用当前图像覆盖上一个图像。如果要附加/concat所有图像,请使用
+=

lol.innerHTML += icons[i];
更好的处理方法是使用DOM处理:

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

lol.appendChild(img);

这是因为您正在用当前图像覆盖上一个图像。如果要附加/concat所有图像,请使用
+=

lol.innerHTML += icons[i];
更好的处理方法是使用DOM处理:

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

lol.appendChild(img);
每次你这样做

lol.innerHTML = icons[i];
您正在使用图标[i]
替换div的内部HTML。连接所有图标元素,然后使用连接的结果设置div的内部HTML。

每次执行此操作时

lol.innerHTML = icons[i];

您正在用图标[i]替换div的内部HTML。连接所有图标元素,然后使用连接的结果设置div的内部HTML。

您的代码将覆盖可以附加内部HTML的内部HTML

试试这个

lol.innerHTML += icons[i];
上面的代码是附加innerHTML的

或者在jquery中,可以使用append函数

$('#div').append(icons[i]);

您的代码正在覆盖innerHTML。您可以附加innerHTML

试试这个

lol.innerHTML += icons[i];
上面的代码是附加innerHTML的

或者在jquery中,可以使用append函数

$('#div').append(icons[i]);

最好使用DOM操纵,而不是
innerHTML
。最好使用DOM操纵,而不是
innerHTML
。我更喜欢+=lol.innerHTML…就像有人想添加一个图像一样,只需将它添加到数组中…与DOM处理一起工作。只需将我的最后一个片段放入for循环中。@user1780468是的,可以,但是
innerHTML
文档一样邪恶。write
。如果不小心,它很容易破坏DOM。这就是为什么我更喜欢使用
document.createElement
document.createTextNode
进行DOM操作。我更喜欢+=lol.innerHTML…就像有人想要添加图像一样,只要在数组中使用它就行了对的DOM处理。只需将我的最后一段代码放入for循环中。@user1780468是的,这很有效,但是
innerHTML
document.createTextNode
一样邪恶。编写
。如果不小心,它很容易破坏DOM。这就是为什么我更喜欢使用
document.createElement
document.createTextNode
来处理DOM。