2013-09-23 48 views
0

如果我有這樣的我怎樣才能自動獲得更新幾個月?

<div id="dailyInfo" class="contentInfo"> 
       <ul> 
        <li> 
         <a href="#February">Febuary</a> 
        </li> 
        <li> 
         <a href="#March">March</a> 
        </li> 
        <li> 
         <a href="#April">April</a> 
        </li> 
        <li> 
         <a href="#May">May</a> 
        </li> 
        <li> 
         <a href="#June">June</a> 
        </li> 
        <li> 
         <a href="#July">July</a> 
        </li> 
        <li> 
         <a href="#August">August</a> 
        </li> 
        <li> 
         <a href="#September">September</a> 
        </li> 
        <li> 
         <a href="#October">October</a> 
        </li> 
        <li> 
         <a href="#November">November</a> 
        </li> 
       </ul> 
      </div> 

幾個月的清單是否有辦法隱藏十月直到十月?與11月一樣。現在我正在評論這些,並每月更換一次。唯一的問題是我有時會遲到幾天。我怎麼能自動做到這一點?

編輯:我想有過去幾個月中顯示所有li元素。只是不是還沒有到來的月份。就像十月和十一月

+0

你的意思是隱藏所有'li'元素,但當月?如果這樣使用'var date = new Date(); var month = date.getMonth();的document.getElementById(月)= .style.diplay 「內聯」;'假設你隱藏起來使用'顯示:無;' –

回答

3

隱藏在當前操作後每月:

$('#dailyInfo li:gt('+((new Date()).getMonth()-1)+')').hide(); 

FIDDLE

隱藏一切,但當月:

$('#dailyInfo li:not(li:eq('+((new Date()).getMonth()-1)+'))').hide(); 

FIDDLE

隱藏當前月:

$('#dailyInfo li:eq('+((new Date()).getMonth()-1)+')').hide(); 

FIDDLE

0

使用此代碼......它會隱藏自己的當月

這裏的jsfiddle http://jsfiddle.net/K7Thm/

var currentDate=new Date() 
    var monthNum=currentDate.getMonth()-1; 
    $('#dailyInfo ul li').eq(monthNum).hide(); 
1

adeneo發佈了一個偉大的答案,但我想我可以提供另一個。只是爲了皮特的緣故。

http://jsfiddle.net/G6wWa/

var d = new Date(), 
    n = d.getMonth(); 

$(".contentInfo ul li").each(function() { 
    var $this = $(this), 
     ID = $(this).index(); 
    if (ID > n) $(this).hide(); 
});