javascript - 创建 10 个 div,但仅根据 api 的值向其中一些添加颜色
问题描述
我正在尝试创建 10 个 div,但如果它们在数字 0-10 的值范围内,则仅添加“绿色”类。
假设评级是 6。这意味着只有这 6 个是绿色的,而剩下的 4 个是灰色的。
我尝试过使用 for 循环和 if 语句。但是除了创建 6 个绿色 div 之外,什么都没有发生。
我的代码远非完美,但在这里。
let rating = 6;
let stars = document.querySelector(".total-rating");
for (let i = 0; i < rating; i++) {
if (i <= rating) {
let star = document.createElement("div");
star.className = "star green";
stars.appendChild(star);
}
}
解决方案
如果你想要 10 颗星,循环 10 次。然后只需将“绿色”添加到前 6 个。
let rating = 6;
let stars = document.querySelector(".total-rating");
for (let i = 0; i < 10; i++) {
let star = document.createElement("div");
star.className = "star" + (i <= rating ? " green" : "");
stars.appendChild(star);
}
推荐阅读
- javascript - 使用全名的 Firebase 身份验证
- php - 如何在页面刷新时以 20 秒的间隔将数据插入数据库
- sql - 保留 Range 数据类型的下限/上限
- python - 如何使用 Python 从 HTML 段落中提取描述
- android - 使用 Material Motion Fade 的 DialogFragment 动画
- mfc - 我想在 MFC 的树控件中防止双击事件?
- c# - 如何更新列表中的多个项目
- css - 为什么截断的文本在我的弹性框中不起作用?
- java - 这个循环的时间复杂度应该是多少
- jquery - 尽管已添加到 react-app,但 Jquery 仍无法运行