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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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:将对象属性附加为子元素_Javascript_Arrays_For Loop_Createelement_Object Properties - Fatal编程技术网

JavaScript:将对象属性附加为子元素

JavaScript:将对象属性附加为子元素,javascript,arrays,for-loop,createelement,object-properties,Javascript,Arrays,For Loop,Createelement,Object Properties,我有一个对象数组,我正试图为每个对象和每个对象的属性创建HTML元素,但当我试图循环containerDiv并将对象的属性作为子元素附加时,遇到了问题 我想为每个类名为的对象创建一个div 集装箱IV 我想在containerDiv中循环 我想为每个对象属性创建一个元素并附加它们 作为容器IV的子元素 我的代码示例如下所示: var parent = document.getElementById('parent'); function createHTMLElements() {

我有一个对象数组,我正试图为每个对象和每个对象的属性创建HTML元素,但当我试图循环containerDiv并将对象的属性作为子元素附加时,遇到了问题

  • 我想为每个类名为的对象创建一个div 集装箱IV
  • 我想在containerDiv中循环
  • 我想为每个对象属性创建一个元素并附加它们 作为容器IV的子元素
我的代码示例如下所示:

var parent = document.getElementById('parent');

function createHTMLElements() {
    for(var i = 0; i < arrayOfObjects.length; i++) {
        var containerDiv = document.createElement('div');
        containerDiv.className = 'container';
        parent.appendChild(containerDiv);

        // Loop through containerDiv and append object properties as child elements
    }
}

var arrayOfObjects = [
    {
        name: 'John',
        surname: 'Doe'
    },
    {
        name: 'David',
        surname: 'Mills'
    }
]
var parent=document.getElementById('parent');
函数createHtmlements(){
对于(变量i=0;i
您可以使用相同的
document.cretateElement
创建子元素。您还需要调用该函数

var arrayOfObjects=[{
姓名:'约翰',
姓:多伊
},
{
姓名:'大卫',
姓:“米尔斯”
}
]
var parent=document.getElementById('parent');
函数createHtmlements(){
对于(变量i=0;i

您可以使用相同的
文档创建子元素。cretateElement
。您还需要调用该函数

var arrayOfObjects=[{
姓名:'约翰',
姓:多伊
},
{
姓名:'大卫',
姓:“米尔斯”
}
]
var parent=document.getElementById('parent');
函数createHtmlements(){
对于(变量i=0;i

只需在数组中的当前对象上创建一个循环即可

for (var p in arrayOfObjects[i]) {
  containerDiv.appendChild(document.createElement("p"))
    .textContent = p + ": " + arrayOfObjects[i][p];
}

演示:

var parent=document.getElementById('parent');
变量arrayOfObjects=[{
姓名:'约翰',
姓:多伊
},
{
姓名:'大卫',
姓:“米尔斯”
}
];
createHtmlements();
函数createHtmlements(){
对于(变量i=0;i
.container{
边框:2个虚线#333;
保证金:4倍;
}
.container>p{
利润率:10px;
填充物:5px;
背景:DDD;
}

只需在数组中的当前对象上创建一个循环即可

for (var p in arrayOfObjects[i]) {
  containerDiv.appendChild(document.createElement("p"))
    .textContent = p + ": " + arrayOfObjects[i][p];
}

演示:

var parent=document.getElementById('parent');
变量arrayOfObjects=[{
姓名:'约翰',
姓:多伊
},
{
姓名:'大卫',
姓:“米尔斯”
}
];
createHtmlements();
函数createHtmlements(){
对于(变量i=0;i
.container{
边框:2个虚线#333;
保证金:4倍;
}
.container>p{
利润率:10px;
填充物:5px;
背景:DDD;
}

这是一种更通用、更结构化的方法。重构变得更加容易,因为它为每个特殊的“创建和附加”任务提供了方法。使用
reduce
as-list迭代器方法的优点是,通过为每个“容器”创建过程提供一种配置,可以更灵活地选择什么类型的“容器”

var objectList=[{
姓名:'约翰',
姓:多伊
}, {
姓名:'大卫',
姓:“米尔斯”
}];
var elmContainer=document.createElement('li');
elmContainer.className='container';
函数createAndAppendContainerChild(itemKey、itemValue、parentNode){
var elmChild=document.createElement('span');
elmChild.className=itemKey;
appendChild(document.createTextNode(itemValue));
parentNode.appendChild(elmChild);
}
函数createAndAppendContainer(配置,项){
var elmContainer=config.blueprintNode.cloneNode();
Object.key(item).forEach(function(key){
createAndAppendContainerChild(键,项[key],elmContainer);
});
config.parentNode.appendChild(elmContainer);
返回配置;
}
objectList.reduce(createAndAppendContainer{
parentNode:document.querySelector(“#容器父节点”),
blueprintNode:elmContainer
});
。姓氏:以前{
内容:“”
}

      这是一种更通用、更结构化的方法。重构变得更加容易,因为它为每个特殊的“创建和附加”任务提供了方法。使用
      reduce
      作为列表迭代