AJF*_*DIA 2 javascript jquery parsing numbers date
在我的脚本顶部,我创建了一个今天日期之外的变量:
<?php $today = date('dmy'); ?>
Run Code Online (Sandbox Code Playgroud)
然后我有一个表,每个表行都有一个"nodate"或六位数字的类,这个数字代表一个日期.例如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>
Run Code Online (Sandbox Code Playgroud)
为了测试,我有它,所以如果表行有一个"nodate"类,那么背景变为蓝色.然后,如果表行日期(六位数字)小于今天的日期,则变为红色.
目前,具有六位数的所有行都变为红色,并且由于某种原因,如果数字以零开头,则类输出不同.
例如
<tr class="<?php $date = "041010"; echo $date; ?>">
Run Code Online (Sandbox Code Playgroud)
输出为16904:S
有人可以帮忙吗?
以零开头的数字被解析为八进制数(基数为8),而不是十进制数(基数为10).
解析数字时指定基数(基数):
parseInt($(this).attr('class'), 10)
Run Code Online (Sandbox Code Playgroud)
此外,除非您在同一个月内只有日期,否则您应该使用基于ISO 8601的日期格式(ymd),例如100924而不是240910.
首先使用日期,您将获得例如250810> 的效果240910.