Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery/rss提要脚本,用于过滤所有超过90天的帖子_Javascript_Jquery_Rss - Fatal编程技术网

Javascript Jquery/rss提要脚本,用于过滤所有超过90天的帖子

Javascript Jquery/rss提要脚本,用于过滤所有超过90天的帖子,javascript,jquery,rss,Javascript,Jquery,Rss,我正在创建一个脚本来显示我的rss提要并过滤掉以前的帖子,所有这些都使用Jquery。在我的脚本中,我试图过滤掉超过90天的帖子 有1个帖子显示超过90天限制。我试着用不同的参数来改变我的标签 我遗漏了什么或添加了什么不应该在那里 我的Jquery代码是: <script> //function to load XML document $.ajax({ type: 'GET', url: '/ser/whatsnew_main.xm

我正在创建一个脚本来显示我的rss提要并过滤掉以前的帖子,所有这些都使用Jquery。在我的脚本中,我试图过滤掉超过90天的帖子

有1个帖子显示超过90天限制。我试着用不同的参数来改变我的标签

我遗漏了什么或添加了什么不应该在那里

我的Jquery代码是:

<script>
//function to load XML document    
$.ajax({
    type:       'GET',
    url:        '/ser/whatsnew_main.xml',
    dataType:   'xml',
    success:    function(xml){
        $(xml).find("item").each(function(){
        var title = $(this).find('title').text();
        var date = $(this).find('pubDate').text();
        var description = $(this).find('description').text();
        $('#feed').append('<li><strong>'+title+'</strong><br>'+date+'<br>'+description+'</li>');    

        //exp date parameters
        var today = new Date();
        var runOn = new Date(today.setDate(1));
        var expire = new Date(runOn.setDate(-90));
        var pub = new Date(date);           
            if(today.getDate() === 1 == true && pub < expire == true){          
            $(this).each('item').empty();   
            }
            else if(pub < expire == true){
                $(this).each('item').empty();
                }
                alert("on " +today.getDate()+ ", expiration date is " +expire);
        });         
        }
        });     

</script>
我在其他rss订阅源上尝试了相同的代码,但最后一篇过时的文章不断出现,不管它的日期是2015年9月30日还是2015年8月21日


我不想创建一个全新的函数,从第一个函数调用它,然后创建一个全新的xml加载函数来获取pubDate。

根据您的逻辑,我并不100%清楚您想要做什么,但是如果您感兴趣的是从xml数据源中删除过期的元素,一旦你解决了两件事,你应该能够按照自己的方式来做,比如:

if(today.getDate() === 1 && pub < expire) {          
    $(this).remove();   
} else if(pub < expire) {
    $(this).remove();
}
$(这)指的是提要中的当前项,但是您尝试向它请求其中的每个“项”,然后尝试清空当前项中的每个“项”内容,而不是删除该项本身


这是一个JSFIDLE,其中的项目是HTML而不是XML,但它似乎符合您的要求:

好的,我看到了问题,但我认为这不是条件,我看到您在创建runOn时将今天设置为每月的第一天,因此在代码的开头,不是这样:

var today = new Date();
var runOn = new Date(today.setDate(1));
请尝试以下代码:

var today = new Date();
var runOn = new Date();
runOn.setDate(1);

查看一些项目的实际提要数据会很有帮助,包括不应该显示的数据。请尝试简化代码,对===和==的计算已经是布尔值,类似于…if(today.getDate()==26&&runOn>expire)@Chris OnDaRocks,在尝试您的建议之后,如果我没有将“==true”添加到两个布尔值,我的代码将显示所有帖子。出于某种原因,它想把它放在那里。我还尝试了您的建议,使用“==true”&“==false”和“==true”&“==true”,来回更改>因为代码不起作用,而且仍然显示所有帖子。我想我的下一个选择是创建一个单独的函数,并在第一个函数结束后调用它。但这意味着我可能需要完成整个xml加载工作才能获得发布日期|@adammtlx,我的xml代码示例是-不带beg和标签:“通用标题2015年10月28日Gen Title 2015年9月30日”我在删除最后一次过期的帖子时遇到了问题,在本例中,是2015年9月30日的1。其他旧的都被删除了。@chrisondarrocks,我在它们上面都省略了“==true”部分,它们可以工作,但不能使用“runOn>expire”。现在我使用的是'if(today.getDate()==26&&pubvar today = new Date(); var runOn = new Date(today.setDate(1));
var today = new Date();
var runOn = new Date();
runOn.setDate(1);