gpt4 book ai didi

javascript - jquery 以零开头的数字问题

转载 作者:行者123 更新时间:2023-11-29 16:28:07 25 4
gpt4 key购买 nike

在我的脚本顶部,我创建了一个基于今天日期的变量:

<?php $today = date('dmy'); ?>

然后我有一个表,每个表行都有一个“nodedate”类或一个六位数的类,该数字代表一个日期。例如230910(昨天)。

我正在尝试编写一些jquery,如果类(六位数)小于今天的日期($today)作为数字,则隐藏表行。例如,如果 230910 < 240910

<script type="text/javascript">
var todaysdate = "<?php echo $today;?>";
$(document).ready(function() {
$("#main table tr").each(function() {
if ($(this).hasClass('nodate')) {
$(this).css("background", "blue");
} else {
var expire = (parseInt($(this).attr('class')));
alert (expire);

if (expire < todaysdate) {
$(this).css("background", "red");
}
}
});

});
</script>

为了测试我有它,所以如果表行有一个“nodedate”类,那么背景会变成蓝色。然后,如果表行日期(六位数)小于今天的日期,则变为红色。

目前,所有包含六位数字的行都变成红色,并且由于某种原因,如果数字以零开头,则该类的输出会有所不同。

例如

<tr class="<?php $date = "041010";  echo $date; ?>">

输出为 16904 :S

有人可以帮忙吗?

最佳答案

以零开头的数字被解析为八进制数(基数为 8),而不是十进制数(基数为 10)。

解析数字时指定基数:

parseInt($(this).attr('class'), 10)

此外,除非您只有同一个月内的日期,否则应使用基于 ISO 8601 的日期格式 (ymd),例如100924 而不是 240910

首先输入日期,您会得到以下效果,例如 250810 > 240910

关于javascript - jquery 以零开头的数字问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3790353/

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