javascript - 为什么在我使用 "=="时日期选择器突出显示不起作用?

标签 javascript jquery css jquery-ui reference

   .Highlighted a{
   background-color : Green !important;
   background-image :none !important;
   color: White !important;
   font-weight:bold !important;
   font-size: 9pt;

}


  $(document).ready(function () {

                var date1 = new Date(2014, 5, 6);
                var date2 = new Date(2014, 5, 17);

                $('#datepicker').datepicker({

                   dateFormat: "mm/dd/yy",

                   beforeShowDay: function (date) {


                       if (date == date1 ) {

                            return [true, 'Highlighted', 'Available Date'];
                        }
                        return [false, '', ''];
                    }
                });
        });

这个不行,因为date==date1 .如果我将其更改为 date<=date1 ,它工作正常。我认为 javascript 是一种弱类型语言,它比较的是内容,而不是引用。我不想做类似 (date.getDay==date1.getDay &&....) 的事情.有没有更简单的方法来比较这些值?

最佳答案

Demo Fiddle

使用 + 一元运算符 ( reference ) 将值转换为数字以进行比较。

The unary + operator converts its operand to Number type.


if (+date === +date1 ) {

      return [true, 'Highlighted', 'Available Date'];
}

if (!(date - date1)) {

      return [true, 'Highlighted', 'Available Date'];
}

关于javascript - 为什么在我使用 "=="时日期选择器突出显示不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24331995/

相关文章:

javascript - 将数组索引处的值更改为 falsey 是否会使数组变得稀疏?

jquery - 调整 div 背景图片的大小

jquery - 更改位置以 float jQuery 不起作用?

html - 如何使用 css 删除移动设备上的空白区域?

javascript - Phonegap Build 应用程序找不到 Javascript 文件

javascript - ember 入门教程 : Changing router in 'displaying model data' raises errors

javascript - AngularJS 观察属性变化

javascript - 如何在 ExtJS 面板中使用 jQuery 脚本

javascript - IE png 修复使用相对路径时不从静态域调用的问题

css - 更少的 CSS mixin 参数