Тернарный оператор в шаблоне Literal HTML TABLE
Я пытаюсь установить для данных таблицы красный цвет фона, если он имеет статус "Сбой". Мне трудно установить этот встроенный стиль. Сначала я попытался использовать троичный оператор во втором тд функции createTableData, но не смог заставить его работать. Прямо сейчас я пытаюсь разбить его на собственные функции, но тоже не работает.
Нужна помощь в настройке цвета фона данных моей таблицы.
HTML
<body>
<div class="container-fluid">
<div class="jumbotron">
<h1 class="text-center mb-3">
Active Directory Replication Health
</h1>
</div>
<div id="table"></div>
</div>
<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/bootstrap.bundle.min.js"></script>
<script src="js/script.js"></script>
скрипт
var data = [
{
"DC": "SV07CTDC1",
"Connectivity": "Passed",
"Advertising": "Failed"
},
{
"DC": "SVGCCTDC1",
"Connectivity": "Passed",
"Advertising": "Failed"
}
];
function checkStatus(status) {
status === "Failed" ? "background-color: red" : "background-color: blue"
}
function createTableData(dc ){
var html = ''
for( key in dc )
html += `
<tr>
<td> ${key} </td>
<td style=${checkStatus(dc[key])} > ${dc[key]} </td>
</tr>
`
return html
}
function createTable(dc) {
return `
<div class="col-md-3 col-sm-6 ">
<table class="table table-dark table-striped table-bordered table-hover">
${createTableData(dc)}
</table>
</div>
`
}
document.getElementById("table").innerHTML = `
<div class="row">
${data.map(createTable).join("")}
</div>
`
1 ответ
Решение
Единственное, что вам не хватает в вашем методе checkStatus - это вернуть результат условия;
function checkStatus(status) {
return status === "Failed" ? "background-color: red" : "background-color: blue"
}
обновленный кодекс