Javascript 如何在一个div中添加多个HTML标记
使用Javascript,我从XML文档中提取了一个值,并尝试生成尽可能多的标记。我假设我会使用for循环来执行此操作,但当我尝试此操作时,它只会显示一个图像Javascript 如何在一个div中添加多个HTML标记,javascript,html,dom,Javascript,Html,Dom,使用Javascript,我从XML文档中提取了一个值,并尝试生成尽可能多的标记。我假设我会使用for循环来执行此操作,但当我尝试此操作时,它只会显示一个图像 for(i=0; i<red; i++){ document.getElementById("red").innerHTML = "<img src='slike/red.png'></img>"; } 对于(i=0;i使用字符串连接: html = ''; for(i=0; i<red; i+
for(i=0; i<red; i++){
document.getElementById("red").innerHTML = "<img src='slike/red.png'></img>";
}
对于(i=0;i使用字符串连接:
html = '';
for(i=0; i<red; i++){
html += "<img src='slike/red.png'></img>";
}
document.getElementById("red").innerHTML = html;
html=”;
对于(i=0;i使用字符串连接:
html = '';
for(i=0; i<red; i++){
html += "<img src='slike/red.png'></img>";
}
document.getElementById("red").innerHTML = html;
html=”;
对于(i=0;i,每次它为元素的innerHTML分配一个vaue
请使用下面的选项
var elem=document.getElementById("red");
for(i=0; i<red; i++){
elem.innerHTML = elem.innerHTML+"<img src='slike/red.png'></img>";
}
var elem=document.getElementById(“红色”);
对于(i=0;i,每次它为元素的innerHTML分配一个vaue
请使用下面的选项
var elem=document.getElementById("red");
for(i=0; i<red; i++){
elem.innerHTML = elem.innerHTML+"<img src='slike/red.png'></img>";
}
var elem=document.getElementById(“红色”);
对于(i=0;i好吧,如果你从逻辑上考虑,你所编写的代码似乎是让red的innerHTML更改“red”次数。你没有添加img的“red”次数,你只是将它更改为一个图像的“red”次数
那么,你为什么不这样做呢:
var numberImages= "";
for(i=0; i<red; i++){
numberImages += "<img src='slike/red.png' />";
}
document.getElementById("red").innerHTML= numberImages;
var numberImages=“”;
对于(i=0;i好吧,如果你从逻辑上考虑,你所编写的代码似乎是让red的innerHTML更改“red”次数。你没有添加img的“red”次数,你只是将它更改为一个图像的“red”次数
那么,你为什么不这样做呢:
var numberImages= "";
for(i=0; i<red; i++){
numberImages += "<img src='slike/red.png' />";
}
document.getElementById("red").innerHTML= numberImages;
var numberImages=“”;
对于(i=0;i如果要向DOM添加大量元素,则应该使用a来避免任何不必要的回流。下面是一个快速示例():
var fragment=document.createDocumentFragment();
对于(变量i=0;i<10;i++)
{
var img=document.createElement('img');
img.src='slike/red.png';
片段。附加子片段(img);
}
document.getElementById('red').appendChild(片段);
这允许您创建所需的任意多个元素,并将它们批量添加到DOM中,这样只会使DOM回流一次。如果要向DOM中添加大量元素,则应使用,以避免任何不必要的回流。下面是一个快速示例():
var fragment=document.createDocumentFragment();
对于(变量i=0;i<10;i++)
{
var img=document.createElement('img');
img.src='slike/red.png';
片段。附加子片段(img);
}
document.getElementById('red').appendChild(片段);
这使您可以创建所需的任意多个元素,并将它们批量添加到DOM中,这样只会使DOM回流一次。您是否尝试过使用+=
而不仅仅是=
?如果您想附加到字符串,请使用+=
而不是=
(简写字符串串联)也可以使用DOM操作方法,如<代码> .AppDebug < /Cord>。您应该考虑使用<代码>文档片段< /Cord>。+ 1用于文档片段。每次推送重新呈现DOM是浪费了吗?您尝试使用<代码> += 而不是只是<代码> = /代码>吗?如果要追加到字符串,请使用<代码> += < /代码>代替。也可以使用DOM操作方法,如<代码> .AppDebug < /Cord>。您应该考虑使用<代码>文档片段< /Cord>。+ 1用于文档片段。