javascript - 如何使用 JavaScript 将内容添加到 html 正文?
问题描述
当给定数组包含员工列表时
let names = [
{ firstName: 'John', lastName: 'Doe', DOB: '01Jan1970', role: 'cook' },
{ firstName: 'Mary', lastName: 'Jane', DOB: '11Sep2000', role: 'server' },
];
并且已经提供了#ul,
<ul id="container">
<li>
<a class="name">John Doe</a>
<div class="age">41</div>
</li>
<li>
<a class="name">Mary Jane</a>
<div class="age">20</div>
</li>
</ul>
单击员工姓名时,我需要返回员工的角色。这是我的代码
function findRoles(array) {
const container = document.getElementById('container');
for (let i = 0; i < array.length; i++) {
const li = document.createElement('li'),
a = document.createElement('a'),
div = document.createElement('div');
ul = document.createElement('ul');
let user = array[i];
a.innerText = user.firstName + ' ' + user.lastName;
a.className = 'name';
a.addEventListener("click", () => printRole(user))
//div.className = "age";
li.appendChild(a);
li.appendChild(div);
container.appendChild(li);
}
}
这导致以下错误:
AssertionError: expected '<a class="name"></a>' to equal '<a class="name">John Doe</a>'
似乎<a class="name">
缺少内容。在过去的 4 个小时里一直在研究这个问题,但似乎没有弄清楚
解决方案
您的代码似乎在片段中工作。刚刚添加了 printRole 方法。
function printRole(usr) {
console.log('Clicked on user: ', `${usr.firstName} ${usr.lastName}`, '; Role is ', usr.role);
}
function findRoles(array) {
const container = document.getElementById('container');
for (let i = 0; i < array.length; i++) {
const li = document.createElement('li'),
a = document.createElement('a'),
div = document.createElement('div');
ul = document.createElement('ul');
let user = array[i];
a.innerText = user.firstName + ' ' + user.lastName;
a.className = 'name';
a.addEventListener("click", () => printRole(user))
//div.className = "age";
li.appendChild(a);
li.appendChild(div);
container.appendChild(li);
}
}
let names = [
{ firstName: 'John', lastName: 'Doe', DOB: '01Jan1970', role: 'cook' },
{ firstName: 'Mary', lastName: 'Jane', DOB: '11Sep2000', role: 'server' },
];
findRoles(names)
<div id="container"> </div>
推荐阅读
- ios - 为什么我的 iOS 应用程序没有写入 Firestore 模拟器
- python - 我怎样才能删除多余的字母
- r - 无法将 ggproto 对象添加在一起
- reactjs - useEffect .map 不是函数 React Hooks
- r - 尝试在 Ubuntu 20.04 中使用 Radian 安装软件包时出错
- java - hql查询中唯一
- java - Maven 项目不会在 Windows 10 上构建
- iis - Blazor Wasm 独立发布到 IIS
- c# - 如何使 Xamarin Shell 应用程序的弹出项居中?
- wordpress - 投资组合 wordpress 图像不显示