jQuery根据element中包含的日期删除元素

时间:2014-12-17 09:27:25

标签: javascript jquery date datetime

我正在尝试实现一些Javascript,它将根据元素中的日期是否已经过去从页面中删除元素及其父元素。

例如,如果今天的日期是2014年12月16日,并且该元素包含2014年12月15日的日期,那么我希望删除该元素。我已经有一些代码,我用于我的另一个网站,删除元素和它的父成功,但该网站的日期格式不同于当前网站上的日期格式。应用此代码不适用于当前站点。

以下是我从其他网站上删除元素的Javascript:

<script type='text/javascript'>

    jQuery(document).ready(function(){
        jQuery('.o-date').each( function(key,value){
                console.log(value);
            var currentDate = new Date();
            var date = new Date(jQuery(value).text());
            if(date < currentDate){
                jQuery(value).parent().remove();
            }
        });
    });

</script>

这是当前网站上包含日期及其父级的元素的标记:

<tr data-offer-id="13503" class="special">
    <td class="o-date">December 14, 2014 - January 9, 2015</td>
    <td class="o-content"></td>
    <td class="o-amount">
        <select>
            <option value="0">0</option>
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
        </select>
    </td>
</tr>

编辑:此处为jsfiddle

1 个答案:

答案 0 :(得分:1)

假设他们都以这种方式进行了格式化,并且只有在两个日期中的第一个已经过去时才想要删除:

js小提琴表现得很奇怪,所以我做了一个代码。我还必须在那些<tr/> els周围找一张桌子。

DEMO

jQuery(document).ready(function(){
    jQuery('.o-date').each( function(i,val){
        var currentDate = new Date();
        var date = new Date(jQuery(val).text().split(' - ')[0]); // or 1 for second date
        if(date < currentDate){
            jQuery(val).parent().remove();
        }
    });
});