javascript - 如何使用js使XML节点在特定日期过期?

标签 javascript jquery html xml

我需要在特定日期使 XML 节点过期。我在 XML 节点中添加了过期日期。但我不知道如何使用 JavaScript 在节点过期时自动删除该节点。如果有人有任何想法,请帮忙。

这是代码。

contact.xml

<?xml version="1.0" encoding="UTF-8"?>
<contact>
    <person expires="19/09/2018">
        <name>Bob Jones</name>
        <phone>(02)44 42 45 63</phone>
    </person>
    <person expires="21/09/2018">
        <name>Gary Williams</name>
        <phone>(02)44 41 87 56</phone>
    </person>

</contact>

    $(document).ready(function(){
    $.ajax({
        type:"GET",
        url:"contact.xml",
        dataType:"xml",
        success:showdata
    });
});

function showdata(xml){
    xml = $(xml).children();
    $(xml).children().each(function () {                  
        let name = $(this).find("name").text();
        let phone =$(this).find("phone").text();
        
        let html = `<div class="col-md-4">
                    <div class="thumbnail">
                      <p>${name}</p>
                      <p>${phone}</p>
                    </div>
                    </div>`;


       $("#test").append(html);
    });
}
<div class="row" id="test"></div>

Plunker

最佳答案

这个怎么样?

function showdata(xml){
    xml = $(xml).children();
    $(xml).children().each(function () {     

        let expireArray = $(this).attr('expires').split('/');
        const expireDate = `${expireArray[2]}${expireArray[1]}${expireArray[0]}`;
        const now = new Date(),
            nowDate = `${now.getFullYear()}${(now.getMonth()+1) <10 ? '0'+(now.getMonth()+1): (now.getMonth()+1)}${now.getDate()}`;

        if (nowDate > expireDate) {
            return;
        }

        let name = $(this).find("name").text();
        let phone =$(this).find("phone").text();

        let html = `<div class="col-md-4">
                    <div class="thumbnail">
                      <p>${name}</p>
                      <p>${phone}</p>
                    </div>
                    </div>`;


       $("#test").append(html);
    });
}

关于javascript - 如何使用js使XML节点在特定日期过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52419406/

相关文章:

html - Flexbox 显示每行 5 个元素的动态元素数,使用 flex 基础来消耗额外空间

javascript - 长时间的 JavaScript 计算期间的 css 进度条

javascript - 在 JavaScript 中更改图像的位置

javascript - 按钮背景颜色不起作用

javascript - 如何使用服务器端创建的JQuery向元素添加点击事件

html - 提取此元标记的 xpath 正则表达式是什么?

javascript - 如何从键值对数组创建对象?

javascript - 无法切换多个 div 的可见性,因为切换()分别跟踪每个元素

javascript - 在加载子行时显示进度

javascript - AngularJS 无限滚动问题