when a given array includes a list of employees
let names = [
{ firstName: 'John', lastName: 'Doe', DOB: '01Jan1970', role: 'cook' },
{ firstName: 'Mary', lastName: 'Jane', DOB: '11Sep2000', role: 'server' },
];
and #ul is already provided,
<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>
I need to make it so that it returns employee's role when the name is clicked, and here is my code:
function printRole(user) {
console.log(user.role);
}
function getRoles(array) {
for (let i = 0; i < array.length; i++) {
const li = document.createElement('li'),
a = document.createElement('a'),
div = document.createElement('div')
//user = array[i]
let selectedUser;
let user = array[0]
if (user.firstName === firstEl) {
selectedUser = user;
printRole(selectedUser)
a.innerText = user.firstName + ' ' + user.lastName
a.addEventListener("click", printRole(user))
}
}
}
I first used createElement
into HTML elements, added addEventListner
on and at some point. I know I have to apply li
to the #ul
container at some point but I am very much confused as to what I am doing wrong (perhaps everything).
I believe I am going in the right direction but I don't seem to figure out how to put it in a presentable (proper) way.