gpt4 book ai didi

javascript - Date-obj 未比较正确

转载 作者:行者123 更新时间:2023-12-03 11:03:09 25 4
gpt4 key购买 nike

我在使用这个简单的代码时遇到了问题。我想知道为什么第二个元素(Two)没有被删除?日期:2014, 11, 06 应该已经过期了,对吧?

JSFiddle


HTML:

<div id="dates">
<p class="2014, 12, 05">One</p>
<p class="2014, 11, 06">Two</p>
<p class="2015, 01, 20">Three</p>
</div>

Javascript:

    var current = new Date(),
elements = document.getElementById("dates").children,
deleteDate = 0;

for (var i = 0; i < elements.length; i++) {

deleteDate = new Date(elements[i].className);

if (current > deleteDate) {
elements[i].parentNode.removeChild(elements[i]);
}
}

我真的不知道为什么会发生这种情况......

最佳答案

  1. 在您的循环中,我们从 i = 0 开始。
  2. 索引 0One 元素。
  3. 一个已删除
  4. 下一次循环迭代,i = 1
  5. 索引 1 现在是 Three 元素,因为第一个元素在最后一个循环中被删除。

因此,Two 被完全跳过。

您应该保存要删除的元素,然后一次性将它们全部删除。

关于javascript - Date-obj 未比较正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27990391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com