Javascript - 如果存在过去的日期,则不运行函数

标签 javascript jquery html

我有一个在 Google map 上绘制轨道的 Javascript 函数。这是有问题的功能:

var stations;
var sats = [];
var lines = [];
var i = 0;
$('.tle-data-main').each(function() {
    lines.push(this.innerText);
});
var data = lines.join("\n");
stations = orbits.util.parseTLE(data);

for (; i < stations.length; i++) {
    var name = stations[i].name;
    var satOpts = {
        map: map,
        tle: stations[i],
        pathLength: 3,
    };

    var sat = new orbits.Satellite(satOpts);
    sat.refresh();
    sat.refresh_path();
    sats.push(sat);
}

这从类 .tle-data-main 中获取一些数字,进行一些计算并显示结果。该功能完美运行。 (轨道抽屉使用 orbits.js 库)。

唯一的问题是,当我的“衰减”部分中出现日期时,我不想运行此函数。如果有日期,我不希望该函数运行,因为它已经衰减。我只希望它在没有日期的情况下运行。

所以我的“衰退”HTML 可以是这样的:

<li><span id="decay">Decay: </span>2017-07-03</li>

或者像这样:

<li><span id="decay">Decay: </span>In Orbit (No Decay Date)</li>

我试图寻找一些使用它的教程/示例,但找不到。

TL;DR 如果存在日期,请不要运行我的 Javascript 函数。

最佳答案

您可以检查 #decay DOM 元素 .nextElement.textContent 中的模式 /\d{4}-\d{ 2}-\d{2}/ 使用 RegExp.prototype.test() 匹配四位数字后跟 "-" 后跟两位数字再跟“-”后跟两位数

if (/\d{4}-\d{2}-\d{2}/.test($("#decay")[0].nextSibling.textContent)) {
  console.log("do not run function")
} else {
  // do stuff
  console.log("run function")
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li><span id="decay">Decay: </span>2017-07-03</li>
</ul>

if (/\d{4}-\d{2}-\d{2}/.test($("#decay")[0].nextSibling.textContent)) {
  console.log("do not run function")
} else {
  // do stuff
  console.log("run function")
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li><span id="decay">Decay: </span>In Orbit (No Decay Date)</li>
</ul>

关于Javascript - 如果存在过去的日期,则不运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45664521/

相关文章:

javascript - 写入文本时更新 div 无法按预期工作

asp.net - Css 样式停止在部分回发上工作

javascript - 如何让我的溢出div始终滚动到底部?

javascript - 固定位置忽略 parent ?

javascript - 在 JavaScript 中获取客户端的 GMT 偏移量

javascript - 如何使用 Backbone Marionette CompositeView 显示嵌套的模型集合?

javascript - ASP WebForms 在回发时重新评估属性

javascript - 使用 jQuery 循环遍历 XML 属性和元素

javascript - Socket.io 和 Node.js 无法在 Heroku 上运行

javascript - JQuery - IF 语句只能工作两到三次