使用Javascript或jQuery - 查找具有正确属性日期范围的节点

时间:2014-03-19 10:42:12

标签: javascript jquery xml

使用Javascript(最好是jQuery)我需要访问"节点"在哪里" X"日期将在其开始之内#34;和"结束"日期。

XML示例:

<nodes>
    <node begin="2014-01-01" end="2014-01-31">
        <info1>blah blah</info1>
        <info2>blah blah</info2>
        <info3>blah blah</info3>
    </node>
    <node begin="2014-02-01" end="2014-02-28">
        <info1>blah blah</info1>
        <info2>blah blah</info2>
        <info3>blah blah</info3>
    </node>
    <node begin="2014-03-01" end="2014-03-31">
        <info1>blah blah</info1>
        <info2>blah blah</info2>
        <info3>blah blah</info3>
    </node>
</nodes>

感谢所有帮助。

2 个答案:

答案 0 :(得分:2)

您可以使用.filter()方法:

var nodes = $(xml),
    x = new Date("...");

var matched = nodes.children().filter(function() {
    var b = new Date( this.getAttribute('begin') ),
        e = new Date( this.getAttribute('end') );
    return b <= x && x <= e;
});

答案 1 :(得分:0)

使用Moment.js并尝试使用以下代码

var startDate = new Date(2014,01,01)
  , endDate   = new Date(2014,01,31)
  , date  = new Date(2014, 01, 15)
  , range = moment().range(startDate, endDate);