【发布时间】:2014-10-14 13:06:59
【问题描述】:
我目前正在尝试为我的网站选择日期,但我遇到了一个小问题。我目前的问题就是这个。
底部的 if 语句似乎没有搜索和选择包含它的数据?我不擅长 javascript,所以我不太确定你是否会这样做?
总的来说,我希望它选择名称为 show 的所有类,然后搜索它的内容以查看它是否等于今天的日期,如果是,它会将其着色为绿色。我尝试过考虑不同的方法来做到这一点,但我似乎无法理解它,我也在这里查看是否有人试图做一些类似的事情,但他们的所有日期选择,而不是日期选择.
Javascript:
<script>
function showDate()
{
var now = new Date();
var dayNames = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var shows = document.getElementsByClassName('show');
var today = shows.innerHTML;
var showElements = document.querySelectorAll('show');
document.getElementById('dateToday').innerHTML = 'Today is: ' + dayNames[now.getDay()];
if(today.contains(dayNames[now.getDay()]))
{
showElements.style.color = '#00E42D';
}
}
</script>
HTML:
<ul class="active">
<h1>Active Shows</h1>
<li id="SOA" class="show"><strong>Sons of Anarchy</strong> - Tuesday</small></li>
<li id="SP" class="show"><strong>Southpark</strong> - Wednesday</li>
<li id="WLR" class="show"><strong>Waterloo Road</strong> - Wednesday</li>
<li id="TWD" class="show"><strong>The Walking Dead</strong> - Sunday</li>
<li id="FG" class="show"><strong>Family Guy</strong> - Sunday</li>
</ul>
【问题讨论】:
-
有一些解决方案,但最好的方法是向列表项添加一个类(或数据属性)。比你只需要通过 id 获取元素。另外,你不能做这个服务器端并添加一个
today类吗?比不需要Javascript -
名为
dateToday的ID 在哪里或者它应该是什么? -
@Brendan 这只是为了显示今天的日期,除了让我知道该功能正在运行之外没有任何作用。
-
@AndreasFurster 如果我在服务器端进行,它不会只返回服务器所在的日期吗?我不太确定
-
@SirTiggs,你说得对。但是您可以将日期设置为类名。这使得代码更好,性能更好。
标签: javascript html date