Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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 如何使用JS动态创建这些HTML元素_Javascript_Html_Dom_Appendchild - Fatal编程技术网

Javascript 如何使用JS动态创建这些HTML元素

Javascript 如何使用JS动态创建这些HTML元素,javascript,html,dom,appendchild,Javascript,Html,Dom,Appendchild,我想创建这个布局,动态地创建它的列表,从数据库获取数据并填充 以下是布局代码: 人名 状态 城市 拉链 人名 状态 城市 拉链 您可以使用for循环将HTML附加到您选择的元素中。循环中的i是从数据库接收的元素的大小 for(让i=1;i我将生成与上图中所述相同的设计。在文件中添加CSS。动态javascript创建多个数据 $(文档).ready(函数(){ 对于(i=0;i 如果您的数据是一个对象数组,则可以在插入DOM之前对其进行迭代以生成HTML* 在这里,我使用了一个help

我想创建这个布局,动态地创建它的列表,从数据库获取数据并填充

以下是布局代码:


人名
状态
城市
拉链
人名
状态
城市
拉链

您可以使用for循环将HTML附加到您选择的元素中。循环中的i是从数据库接收的元素的大小


for(让i=1;i我将生成与上图中所述相同的设计。在文件中添加CSS。动态javascript创建多个数据

$(文档).ready(函数(){
对于(i=0;i

如果您的数据是一个对象数组,则可以在插入DOM之前对其进行迭代以生成HTML*


在这里,我使用了一个helper函数来生成每个个人卡片的HTML(
personCardHtml
)。它返回一个值,该值在HTML中的正确位置填充个人的详细信息

我在
人的数组中使用了
来生成所有人卡片的单个HTML字符串

然后我将该html字符串插入

const people=[{“name”:“Henrietta Marsh”,“state”:“Northern Mariana Islands”,“city”:“Ernstville”,“zip”:7226},{“name”:“Sandy Copeland”,“state”:“怀俄明州”,“city”:“Hobucken”,“zip”:4594},{“name”:“Logan Frank”,“state”:“波多黎各”,“city”:“Talpa”,“zip”:8670}]
const personCardHtml=(person)=>{
返回`
${person.name}
${person.state}
${person.city}
${person.zip}
`
}
const reducer=(累加器,currentValue)=>累加器+personCardHtml(currentValue);
const personsHtml=people.reduce(reducer“”)
const container=document.querySelector(“#persons container”)
container.insertAdjacentHTML('beforeend',personsHtml);

使用以下代码创建动态元素并向该元素添加属性

<!DOCTYPE html>
<html>
<head>
<style>
#myDIV {
  border: 1px solid black;
  margin-bottom: 10px;
}
</style>
</head>
<body>

<p>Click the button to create a P element with some text, and append it to DIV.</p>

<div id="myDIV">
A DIV element
</div>

<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
  var para = document.createElement("P");
  para.innerHTML = "This is a paragraph.";
  document.getElementById("myDIV").appendChild(para);
}
</script>

</body>
</html>

#myDIV{
边框:1px纯黑;
边缘底部:10px;
}
单击按钮创建一个带有一些文本的p元素,并将其附加到DIV

DIV元素 试试看 函数myFunction(){ var para=document.createElement(“P”); para.innerHTML=“这是一个段落。”; 文件.getElementById(“myDIV”).appendChild(第段); }
使用纯javascript您可以做到这一点。 演示:


函数生成列表(){
变量personList=[
{姓名:“Abc”,州:“41”,城市:“美国”,邮编:“124”},
{姓名:“Abc”,州:“41”,城市:“美国”,邮编:“124”},
{姓名:“Abc”,州:“41”,城市:“美国”,邮编:“124”},
{姓名:“Abc”,州:“41”,城市:“美国”,邮编:“124”},
{姓名:“Abc”,州:“41”,城市:“美国”,邮编:“124”}
]
让设计=”;
对于(让个人列表中的项目){
设计+=`
${item.name}
${item.state}
${item.city}
${item.zip}
`
}
console.log(“da”,设计)
document.getElementById(“设计ID”).innerHTML=design;
}

您可以使用js中的模板文本来解决您的问题


JS-Bin
让root=document.getElementById(“root”);
警察人员=[
{
姓名:“person1”,
州:“个人1_州”,
城市:“人1_城市”,
zip:“个人1_-zip”
},
{
姓名:“person2”,
州:“个人2_州”,
城市:“人2_城市”,
zip:“个人2_-zip”
},
{
姓名:“person3”,
州:“个人3_州”,
城市:“人3_城市”,
zip:“个人3_-zip”
},
{
姓名:“person4”,
州:“个人4_州”,
城市:“人4_城市”,
zip:“个人4_-zip”
}
];
const renderPerson=个人=>{
让数据=``;
persons.forEach(person=>{
数据+=`
${person.name}
${person.state}
${person.city}
${person.zip}
`;
});
返回数据;
};
root.innerHTML=renderPerson(个人);

你能使用jQuery Appender吗?你在js中尝试过模板文本吗?嘿,m8,现在我需要获得每个事件,点击人名:Person
+i+
并显示一个与数字相关的日志,如下图所示:document.getElementById(“title”+i).addEventListener('click',function(){console.log(i)});但在某种程度上,代码只显示最后一个用户(或最后一个i,在本例中,编号9),其他用户则不起作用。有任何提示吗?请为此创建另一个问题
 <div class="row" id="designId"><div>

  <input type="button" onClick="generateList()" value="generateList" /> 
function generateList() {
  var personList = [
     { name: "Abc", state: "41", city: "USA", zip: "124" },
     { name: "Abc", state: "41", city: "USA", zip: "124" },
     { name: "Abc", state: "41", city: "USA", zip: "124" },
     { name: "Abc", state: "41", city: "USA", zip: "124" },
     { name: "Abc", state: "41", city: "USA", zip: "124" }
  ]
  let design = "";
  for(let item of personList){
    design += `
  <div class="col-12 col-sm-12 col-md-2 text-center">
   <img src="http://placehold.it/120x80" alt="prewiew" width="120" height="80">
  </div>
  <div id="text_div" class="col-12 text-sm-center col-sm-12 text-md-left col-md-6">
   <h4 class="product-name"><strong>${item.name}</strong></h4>
   <h4>
    <small>${item.state}</small>
   </h4>
   <h4>
    <small>${item.city}</small>
   </h4>
   <h4>
    <small>${item.zip}</small>
   </h4>
  </div>  `
  }
  console.log("da",design)
  document.getElementById("designId").innerHTML  = design;
}