javascript - 将元素 ID 传递给由 forEach 在对象数组上运行的函数
问题描述
我有一个经典的 JavaScript 函数,它接受一个对象,创建一个具有对象值的元素并将其附加到 DOM:
//the object
const myObj= {
id: 1,
name: "Mike",
};
//getElementBy
const gId = function (id) {
return document.getElementById(id);
};
//the function
function createProfileElementDOM(obj, parentId) { //provide object and element id for appending
const demo = gId(parentId);
const newEl = document.createElement("div");
newEl.className = "user-profile";
newEl.innerHTML = `${obj.id} <spam> ${obj.name} <span>`;
demo.appendChild(newEl);
}
createProfileElementDOM(myObj, "demo")
它适用于这个简单的场景。
如何使它与对象数组(JSON)上的 forEach 一起使用:
const myObjs= [{
id: 1,
name: "Mike",
},
{
id: 2,
name: "Mary",
}
];
myObjs.forEach(createProfileElementDOM(myObj, "demo"))
这不起作用,但如果我在 createProfileElementDOM 函数中没有自定义参数,它确实起作用,即myObjs.forEach(createProfileElementDOM)
我是否需要单独的功能才能使其工作?有一个更好的方法吗?
解决方案
您需要为该forEach()
函数使用正确的语法才能使其正常工作。
myObjs.forEach(function (myObj) {
createProfileElementDOM(myObj, 'demo')
})
推荐阅读
- php - 数据显示在控制台中,但不显示在 Vue 中
- c++ - 由于未知函数 EditAnywhere 导致 UE4 错误编译
- java - Amazon Rekognition 对象检测
- wordpress - woocommerce_order_status_completed 没有数据
- javascript - CS Node js 帮助:编写测试指定的 GET/PUT 请求?
- swiftui - 如何在 SwiftUI 中手动显示 DatePicker
- python - PyTorch resnet 坏张量维度
- python - 无法使用 MongoDB 从 Django 管理面板中删除对象
- mysql - MySQL 和 MariaDB 中的 JSON_SEARCH 差异
- discord - 如何在 Discord.JS 中创建一个比角色层次结构中的其他角色高一点的角色?