Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在一个div中添加多个HTML标记_Javascript_Html_Dom - Fatal编程技术网

Javascript 如何在一个div中添加多个HTML标记

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+

使用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++){
   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用于文档片段。