我正在制作一个显示商店营业时间的简单插件。我已经对它进行了编码,看起来还不错。它显示为类似于我在下面键入的列表。
星期一-9:00 AM至5:00 PM
星期二-9:00 AM至5:00 PM
星期三-9:00 AM至5:00 PM
...等等。生成的HTML如下所示:
<div id="%id%container">
<div id="%id%title">%text="Opening Hours"%</div>
<ul class="%id%hours">
<li>Monday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Tuesday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Wednesday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Thursday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Friday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Saturday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Sunday<span>%text="9:00AM - 5:00PM"%</span></li>
</ul>
</div>
假设今天是星期二。我不想读“星期二”,而是只说“今天”。有没有一种方法可以仅使用Javascript(客户端)来实现?
谢谢。
最佳答案
这是纯JS解决方案:
<div id="%id%container">
<div id="%id%title">%text="Opening Hours"%</div>
<ul class="%id%hours">
<li>Monday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Tuesday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Wednesday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Thursday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Friday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Saturday<span>%text="9:00AM - 5:00PM"%</span></li>
<li>Sunday<span>%text="9:00AM - 5:00PM"%</span></li>
</ul>
</div>
var dayNames = ["Sunday","Monday","Tuesday","Wednesday","Thirsday","Friday","Saturday"];
var dayOfWeek = new Date().getDay();
var dayOfWeekText = dayNames[dayOfWeek]
var elements = document.querySelectorAll('div[id="%id%container"] ul[class="%id%hours"] li');
window.onload = function(){
for (var i=0; i < elements.length; i++ ){
if (elements[i].innerHTML.indexOf(dayOfWeekText) != -1){
elements[i].innerHTML = elements[i].innerHTML.replace(new RegExp(dayOfWeekText),'Today');
return false;
}
}
}
JSFIDDLE
关于javascript - 用JavaScript说“今天”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14149646/