JavaScript:将对象属性附加为子元素
我有一个对象数组,我正试图为每个对象和每个对象的属性创建HTML元素,但当我试图循环containerDiv并将对象的属性作为子元素附加时,遇到了问题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() {
- 我想为每个类名为的对象创建一个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
作为列表迭代