Javascript 循环和数组问题
好的,我有一个文字数组,其中有一些图像。我有一个空DIV,其中将执行FOR循环以显示DIV中数组中的所有图像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
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。