хочу чтоб при нажатии на внизу появился только одна таблица где будет только на который я нажал..посмотрите код пожалуйста
<!DOCTYPE html>
<html>
<head>
<title>Obj onclick</title>
<style>
td,th{
border:1px solid gray;
}
</style>
</head>
<body>
<script >
request();
function request() {
let xhr = new XMLHttpRequest();
xhr.open('Get', 'https://jsonplaceholder.typicode.com/users');
xhr.send();
xhr.onload = () => getResponse(xhr);
}
function getResponse(xhr) {
if (xhr.status === 200) {
let response = JSON.parse(xhr.response);
if (Array.isArray(response)) {
table(response);
}
}
}
let arr = [];
let arr1 = [];
function table(data) {
let table = document.createElement('table');
let tr = document.createElement('tr');
let thKeyNames = data[0];
for (let key in thKeyNames) {
if (key !== 'company' && key !== 'address') {
let th = document.createElement('th');
th.innerHTML = key.toUpperCase();
arr.push(key.toUpperCase());
tr.append(th);
}
table.append(tr);
}
for (let i = 0; i < data.length; i++) {
let tr = document.createElement('tr');
tr.addEventListener('click', newPerson);
for (let users in data[i]) {
if (users !== 'company' && users !== 'address') {
let td = document.createElement('td');
arr1.push(data[i][users])
td.innerHTML = data[i][users];
tr.append(td);
}
table.append(tr);
}
}
document.body.append(table);
}
function newPerson(event) {
let tr = [...event.target.parentElement.children].map(td => td.innerText);
let table = document.createElement('table');
let newTr = document.createElement('tr');
let newTr2 = document.createElement('tr');
table.setAttribute("class", "keyPerson");
let keyPerson = document.getElementsByClassName('keyPerson');
for (let i = 0; i < arr.length; i++) {
let th = document.createElement('th');
th.innerHTML = arr[i];
newTr.append(th);
}
table.append(newTr);
for (var i = 0; i < tr.length; i++) {
let td = document.createElement('td');
td.innerHTML = tr[i];
newTr2.append(td);
}
table.append(newTr2);
document.body.append(table);
}
</script>
</body>
</html>
Ответы (1 шт):
Автор решения: Арам Гаспарян
if (document.getElementsByClassName('keyPerson')[1]) {
document.getElementsByClassName('keyPerson')[0].remove()
}
→ Ссылка
<!DOCTYPE html>
<html>
<head>
<title>Obj onclick</title>
<style>
td,th{
border:1px solid gray;
}
</style>
</head>
<body>
<script >
request();
function request() {
let xhr = new XMLHttpRequest();
xhr.open('Get', 'https://jsonplaceholder.typicode.com/users');
xhr.send();
xhr.onload = () => getResponse(xhr);
}
function getResponse(xhr) {
if (xhr.status === 200) {
let response = JSON.parse(xhr.response);
if (Array.isArray(response)) {
table(response);
}
}
}
let arr = [];
let arr1 = [];
function table(data) {
let table = document.createElement('table');
let tr = document.createElement('tr');
let thKeyNames = data[0];
for (let key in thKeyNames) {
if (key !== 'company' && key !== 'address') {
let th = document.createElement('th');
th.innerHTML = key.toUpperCase();
arr.push(key.toUpperCase());
tr.append(th);
}
table.append(tr);
}
for (let i = 0; i < data.length; i++) {
let tr = document.createElement('tr');
tr.addEventListener('click', newPerson);
for (let users in data[i]) {
if (users !== 'company' && users !== 'address') {
let td = document.createElement('td');
arr1.push(data[i][users])
td.innerHTML = data[i][users];
tr.append(td);
}
table.append(tr);
}
}
document.body.append(table);
}
function newPerson(event) {
let tr = [...event.target.parentElement.children].map(td => td.innerText);
let table = document.createElement('table');
let newTr = document.createElement('tr');
let newTr2 = document.createElement('tr');
table.setAttribute("class", "keyPerson");
let keyPerson = document.getElementsByClassName('keyPerson');
for (let i = 0; i < arr.length; i++) {
let th = document.createElement('th');
th.innerHTML = arr[i];
newTr.append(th);
}
table.append(newTr);
for (var i = 0; i < tr.length; i++) {
let td = document.createElement('td');
td.innerHTML = tr[i];
newTr2.append(td);
}
table.append(newTr2);
document.body.append(table);
}
</script>
</body>
</html>
Ответы (1 шт):
Автор решения: Арам Гаспарян
→ Ссылка
if (document.getElementsByClassName('keyPerson')[1]) {
document.getElementsByClassName('keyPerson')[0].remove()
}