隐藏前几个月从当月开始

Jul*_*eto 11 javascript jquery

我有几个月的清单,现在我想要的是隐藏从当月(3月/ MAR)开始的所有前几个月.

<ul id="months">
    <li><a class="li-month" data-val="0" href="#JAN">JAN</a></li>
    <li><a class="li-month" data-val="1" href="#FEB">FEB</a></li>
    <li><a class="li-month" data-val="2" href="#MAR">MAR</a></li>
    <li><a class="li-month" data-val="3" href="#APR">APR</a></li>
    <li><a class="li-month" data-val="4" href="#MAY">MAY</a></li>
    <li><a class="li-month" data-val="5" href="#JUN">JUN</a></li>
    <li><a class="li-month" data-val="6" href="#JULY">JULY</a></li>
    <li><a class="li-month" data-val="7" href="#AUG">AUG</a></li>
    <li><a class="li-month" data-val="8" href="#SEP">SEP</a></li>
    <li><a class="li-month" data-val="9" href="#OCT">OCT</a></li>
    <li><a class="li-month" data-val="10" href="#NOV">NOV</a></li>
    <li><a class="li-month" data-val="11" href="#DEC">DEC</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我试过了

$(document).ready(function(){
    $('.li-month[href="#'+moment().format("MMM")+'"]').prevUntil().hide();
});
Run Code Online (Sandbox Code Playgroud)

但不幸的是,没有工作,任何想法,请帮助吗?

Лёш*_* Ан 9

无需使用循环.试试以下:

var month = new Date().getMonth();

$('#months').find('[data-val=' + month + ']').parent().prevAll().hide();
Run Code Online (Sandbox Code Playgroud)

看起来快一点jsperf