Javascript 如何设置DIV或LI“;“类”;一周中的哪一天?
如果我有一个7天的日历,每天都有一个DIV和UL,那么如何将“今天”类添加到一周中某一天的LI“天”中?(即周一、周二、周三等) 基本上,我只想在页面加载中突出显示一周中的某一天 我认为这可以通过jQuery来完成,但我刚刚掌握了窍门,所以如果有任何建议能为我指明正确的方向,我将不胜感激 以下是我用于内容的基本HTML:Javascript 如何设置DIV或LI“;“类”;一周中的哪一天?,javascript,jquery,date,html,html-lists,Javascript,Jquery,Date,Html,Html Lists,如果我有一个7天的日历,每天都有一个DIV和UL,那么如何将“今天”类添加到一周中某一天的LI“天”中?(即周一、周二、周三等) 基本上,我只想在页面加载中突出显示一周中的某一天 我认为这可以通过jQuery来完成,但我刚刚掌握了窍门,所以如果有任何建议能为我指明正确的方向,我将不胜感激 以下是我用于内容的基本HTML: <div id="main_content"> <div id="weekly_schedule"> <ul class="d
<div id="main_content">
<div id="weekly_schedule">
<ul class="day_container">
<li class="day">Su</li>
<li class="day_content">content</li>
</ul>
<ul class="day_container">
<li class="day">Mo</li>
<li class="day_content">content</li>
</ul>
<ul class="day_container">
<li class="day">Tu</li>
<li class="day_content">content</li>
</ul>
<ul class="day_container">
<li class="day">We</li>
<li class="day_content">content</li>
</ul>
<ul class="day_container">
<li class="day">Th</li>
<li class="day_content">content</li>
</ul>
<ul class="day_container">
<li class="day">Fr</li>
<li class="day_content">content</li>
</ul>
<ul class="day_container">
<li class="day">Sa</li>
<li class="day_content">content</li>
</ul>
</div>
</div>
苏
内容
- Mo
内容
Tu
内容
- 我们
内容
第天
内容
- Fr
内容
- Sa
内容
我希望它能有所帮助。如果你有问题,请告诉我 我希望这会有所帮助。如果你有问题,请告诉我 无需jQuery,只需使用普通JavaScript即可:
var date = new Date().getDay()*2;
document.getElementsByTagName('LI')[date].parentNode.className += " today";
这里有一个您可以不用jQuery,只需使用普通JavaScript即可:
var date = new Date().getDay()*2;
document.getElementsByTagName('LI')[date].parentNode.className += " today";
这里有一个您可以尝试以下方法:
$('li.day:eq(' + new Date().getDay() + ')').addClass('today');
您可以尝试以下方法:
$('li.day:eq(' + new Date().getDay() + ')').addClass('today');
我也有同样的问题。我使用JavaScript提出了以下解决方案(尽管我不确定这是否是最好的方法) HTML: 因此,这基本上是将类“today”添加到li标记中,具体取决于今天是哪一天
您可以在我的代码笔上看到完整的工作示例-我也遇到了同样的问题。我使用JavaScript提出了以下解决方案(尽管我不确定这是否是最好的方法) HTML: 因此,这基本上是将类“today”添加到li标记中,具体取决于今天是哪一天
您可以在my codepen上看到完整的工作示例-您的html是静态的,而不是动态生成的?如果今天是周日,您希望突出显示“su”,还是希望突出显示一周中的所有日子?html容器将是静态的,但是内容是动态生成的。@DG3我想在周日改变LI和Su的背景,等等。你的html是静态的,不是动态生成的吗?如果今天是周日,你想突出显示“Su”,还是想突出显示一周中的所有日子?html容器是静态的,但内容将动态生成。@DG3我想更改周日与Su的LI等的背景。据我所知,dayOfWeek将以1为基础,而索引以0为基础。不是吗?据我所知,dayOfWeek将以1为基础,而索引则以0为基础。不是这样吗?你的解决方案简单多了。在OPs问题中,第一个li是星期天,我认为您不需要“-1”,因为它将在星期四返回,今天是星期五。我希望我可以这样想,我是通过使用日期对象的getDay()来使用switch case语句的。@DG3正确,我实际上删除了
-1
:)繁荣!简单易行的解决方案。非常感谢。你的解决方案简单多了。在OPs问题中,第一个li是星期天,我认为您不需要“-1”,因为它将在星期四返回,今天是星期五。我希望我可以这样想,我是通过使用日期对象的getDay()来使用switch case语句的。@DG3正确,我实际上删除了-1
:)繁荣!简单易行的解决方案。非常感谢。这假设给定的
元素是整个文档中唯一的元素,可能不是一个安全的选择。这似乎是最简单的解决方案,但为什么我会收到带有“非法字符”的错误在脚本结束时,当我在错误控制台中检查它时?@newworldsorder-错误在您的站点或JSFIDLE上?我从JSFIDLE复制了代码,当我在我的站点上测试它时,我得到了错误。@newworldsorder-复制/粘贴中可能出了问题。输入应该可以。这假设给定的
元素是整个文档中唯一的元素,可能不是一个安全的赌注。这似乎是最简单的解决方案,但为什么我会收到带有“非法字符”的错误在脚本结束时,当我在错误控制台中检查它时?@newworldsorder-错误在您的站点或JSFIDLE上?我从JSFIDLE复制了代码,当我在我的站点上测试它时,我得到了错误。@newworldsorder-复制/粘贴中可能出了问题。输入应该可以。
function startTime() {
var today = new Date();
var dayOfWeek = today.getDay();
if (dayOfWeek == 0) {
document.getElementById("sun").className = "today";
} else if (dayOfWeek == 1) {
document.getElementById("mon").className = "today";
} else if (dayOfWeek == 2) {
document.getElementById("tue").className = "today";
} else if (dayOfWeek == 3) {
document.getElementById("wed").className = "today";
} else if (dayOfWeek == 4) {
document.getElementById("thur").className = "today";
} else if (dayOfWeek == 5) {
document.getElementById("fri").className = "today";
} else if (dayOfWeek == 6) {
document.getElementById("sat").className = "today";
} else {}
}
startTime();