1

お店の営業時間を表示するシンプルなプラグインを作っています。私はそれをコーディングしましたが、それは非常によく見えます。以下に入力したものと同様のリストとして表示されます。

月曜日 - 午前 9:00 から午後 5:00 まで
火曜日 - 午前 9:00 から午後 5:00 まで
水曜日 - 午前 9:00 から午後 5:00 まで

...等々。生成された 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>

今日が火曜日だとしましょう。'Tuesday' と読む代わりに、'Today' と読み上げたいと思います。Javascript (クライアント側) だけでこれを達成する方法はありますか?

ありがとうございました。

4

3 に答える 3

3

JavaScript で getDay() メソッドを利用して曜日を決定し、プログラムで置き換えることができるはずです。

http://www.w3schools.com/jsref/jsref_getday.asp

編集: ソース コードを見た後、参照用にリスト項目に id 属性を追加すると、これがより簡単になると思います。次に、ID が day0、day1、day2 などの場合、次のような JavaScript を使用できます。

<script type="text/javascript">
  var d = new Date();
  var obj = document.getElementById('day' + d.getDay);
  // TODO - replace day of the week on the 'obj' object
</script>

jQuery のような JavaScript フレームワークを使用する予定があるかどうかはわかりませんが、ソースを含めることを犠牲にして少し冗長になります。

于 2013-01-04T00:59:12.243 に答える
0

これが、純粋な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

于 2013-03-02T15:19:10.107 に答える
0

moment.jsを見てください。それはあなたが望むことを正確に行うことを可能にするはずです.

于 2013-01-04T01:00:15.917 に答える