使用Javascript三元运算符将CSS类添加到HTML中



我需要从css类.checkmark.stem添加一个复选标记图像,但不知道如何添加。
我尝试过不同的解决方案,但只收到错误或只有一个string。图像复选标记应该添加到三元运算符中,它表示checkmark

import {
myArray
} from './theData.js';
function addCheckmark() {
let checkmark = document.getElementsByClassName(".checkmark");
let stem = document.getElementsByClassName(".stem");
checkmark.appendChild(stem)
}
buildTable(myArray);
function buildTable(data) {
for (var i = 0; i < data.length; i++) {
let row = `<tr>
<td>${data[i].gameNumber}</td>
<td>${data[i].teams["1"].name} -VS- ${data[i].teams["2"].name}</td>
<td>${data[i].outcome === "1" ? "checkmark":  ""}</td>
<td>${data[i].outcome === "X" ? "checkmark" : ""}</td>
<td>${data[i].outcome === "2" ? "checkmark" : ""}</td>
</tr>`
table.innerHTML += row;
}
}

这行有几个问题:

let checkmark = document.getElementsByClassName(".checkmark");

  1. 应该是"复选标记";,而不是";。复选标记";因为那是类名
  2. getElementsByClassName是一个集合(类似于数组(,应按此处理
  3. 对于从未更改的值,请使用const而不是let

此代码为所有项目添加一个复选标记:

function addCheckmark() {
const checkmarks = document.querySelectorAll('.checkmark');
const stem = document.querySelector('.stem');
checkmarks.forEach(checkmark => checkmark.appendChild(stem));
}

您在这里得到的答案可能无法解决您的问题,因为您的问题不清楚。

最新更新