2013-01-04 1 views
1

나는 가게 영업 시간을 보여주는 간단한 플러그인을 만들고 있습니다. 나는 그것을 코드화했으며 꽤 괜찮아 보인다. 아래에 입력 한 것과 비슷한 목록으로 나타납니다.Javascript에서 '오늘'을 말하기

월요일 9:00 - - 오후 5:00
까지 화요일 9:00 - - 오후 5:00
까지 수요일 - 그래서 9시 오후 5시

까지 AM ... 그리고. 생성 된 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 (클라이언트 측)로이를 수행하는 방법이 있습니까?

감사합니다.

+0

에 오신 것을 환영합니다 StackOverflow에에! 응답자가 코드를 변경하는 방법을 알 수 있도록 사용 된 코드를 표시 할 수 있습니까? –

+2

주석을 삽입하는 대신 줄 바꿈을 포함하여 게시물을 편집 할 수 있습니까? 코드를 선택하고 명령 -K –

+0

[new Date(). getDay()를 눌러 들여 쓰는 것이 좋습니다.)] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getDay) –

답변

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

3

javascript의 getDay() 메소드를 활용하여 요일을 결정한 다음 프로그래밍 방식으로이를 바꿀 수 있어야합니다.

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

편집 : 소스 코드를 본 후, 난 당신이 ID가 참조 할 수 있도록 목록 항목에 속성을 추가 한 경우이 쉬울 것 같아요. 그런 다음 등 다음과 같은 사용자의 ID를한다면 day0, DAY1, DAY2 같은 일부 자바 스크립트를 사용할 수

당신이 jQuery를 여부와 같은 자바 스크립트 프레임 워크를 사용할 계획하지만 그것을 만들 것인지
<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> 

확실하지 않음 근원을 포함하는 것을 희생해서 조금 덜 장황하게.

0

moment.js을 살펴보십시오. 그것은 당신이 원하는 것을 정확하게 할 수 있어야합니다. 당신이 여기