我一直在尝试使用Bootstrap DateTimePicker,我的脚本中已经包含了Moment JS、bootstrap-date-time js和bootstrap js等所有组件,但是我却遇到了"g.size()不是一个函数"的错误。我正在尝试运行下面的函数:
$(function(){
$('#datetimepicker').datetimepicker();
});
我一直在尝试使用Bootstrap DateTimePicker,我的脚本中已经包含了Moment JS、bootstrap-date-time js和bootstrap js等所有组件,但是我却遇到了"g.size()不是一个函数"的错误。我正在尝试运行下面的函数:
$(function(){
$('#datetimepicker').datetimepicker();
});
我的解决方案是寻找一个真正工作的不同的日期时间选择器。
我找到了这个:https://github.com/xdan/datetimepicker,使用起来非常容易:
包含以下文件:
<link href="./js/datetimepicker-master/build/jquery.datetimepicker.min.css" rel="stylesheet"> <script src="./js/datetimepicker-master/build/jquery.datetimepicker.full.min.js"></script>
这个HTML:
<input id="datetimepicker" type="text" />
和这个JS:
$.datetimepicker.setLocale('en');
$('#datetimepicker').datetimepicker();
用这种方法,我花费的时间只有尝试让Bootstrap日期时间选择器停止给我报错的一小部分。当然,还有很多其他的日期时间选择器可供选择:
.size()
已在jQuery 3中移除,请使用.length
代替。
在您的示例中,将g.size()
替换为g.length
。
g.size错误是开发人员已知的问题,存在于较新版本的jquery中。
如果您想使用该datetimepicker,则需要回退到jquery 2.1.4或更早版本。
该漏洞在此处列出:
https://github.com/Eonasdan/bootstrap-datetimepicker/issues/1714
//= require jquery3
,将其改为 //= require jquery2'
就解决了这个问题。 - mohnstrudel<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>
使用了jQuery v3.3.1。
bootstrap-datetimepicker
的3.x.x版本,但这是不正确的。升级到4.x.x版本以及相应的CSS修复了我的问题。 - James Mudd
$.fn.size()
方法已经被移除了。如果是这样,请降级到任何旧版本的jq(2.x?)。但是也许这与您的问题无关,因为根据您的问题没有提供足够的信息,很难猜测。 - A. Wolff