Javascript 如何设置DIV或LI“;“类”;一周中的哪一天?

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

如果我有一个7天的日历,每天都有一个DIV和UL,那么如何将“今天”类添加到一周中某一天的LI“天”中?(即周一、周二、周三等)

基本上,我只想在页面加载中突出显示一周中的某一天

我认为这可以通过jQuery来完成,但我刚刚掌握了窍门,所以如果有任何建议能为我指明正确的方向,我将不胜感激

以下是我用于内容的基本HTML:

  <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();