jquery - 使用 JQuery 检查多个元素以确定它们的颜色
问题描述
我正在制定一个基本的生产力计划,我需要一种方法将不同时间块的颜色设置为灰色、红色或绿色,具体取决于它们是过去、现在还是未来。例如,如果我们现在正处于 5 点钟时,则带有预定事件文本的那个时间块需要是红色的。
以下代码是我尝试过的,但我无法让它工作
HTML - 使用引导程序。我有 8 行这些行,一个用于工作日(9-5)中的每个小时。记下数据时间属性。它设置为它所代表的任何小时。
<div class = "row" data-time = "9">
<div class = "col-md-3">
<p>0900</p>
</div>
<div class = "col-md-6">
<textarea class = "event-field"></textarea>
</div>
<div class = "col-md-3"><button type="submit" class="btn btn-primary"></button></div>
</div>
var date = new Date();
var time = date.getHours();
$(document).ready(function() {
var rows = $("div.row")
var dataAttString = rows.dataset.time;
var dataAttNum = Number(dataAttString);
if (dataAttNum < time) {
rows.addClass("past");
}
else if (dataAttNum === time) {
rows.addClass("present");
}
else if (dataAttNum > time) {
rows.addClass("future");
}
});
解决方案
尝试这个。
$(document).ready(function() {
var date = new Date();
var time = date.getHours();
var rows = $("div.row")
rows.each(function(){
var dataAttNum = $(this).data('time');
if (dataAttNum < time) {
$(this).addClass("past");
}
else if (dataAttNum === time) {
$(this).addClass("present");
}
else if (dataAttNum > time) {
$(this).addClass("future");
}
})
});
推荐阅读
- python - 将格式 json 转换为 csv
- javascript - 以编程方式填充 javascript/浏览器弹出凭据请求
- node.js - 代理错误:无法将请求 /api/house-listing 从 localhost:3000 代理到 http://localhost:5000?(ECONNRESET), MERN
- typescript - 打字稿:用泛型表达可选参数
- arrays - 如何使用 for 循环根据用户输入制作多个相似的数组?
- typescript - 未找到 mapbox-sdk-js 的子模块的 Typescript 导入错误
- github - 在 Github Pages 中删除自定义页面后,原始页面无法正常工作
- c# - .NET Core 在错误的位置发布文件夹
- javascript - 如何在地图中使用等待?
- javascript - 我正在研究暗模式偏好。Windows 应用程序