g.size()不是函数 - Jquery错误

时间:2016-07-27 15:14:34

标签: javascript jquery momentjs bootstrap-datetimepicker

我一直在尝试使用bootstrap datetimepicker并在我的脚本上拥有所有组件,如Moment JS,bootstrap-date-time js和bootstrap js,但我得到g.size()不是函数错误。我正在尝试运行以下功能

$(function(){
    $('#datetimepicker').datetimepicker();
  });

5 个答案:

答案 0 :(得分:12)

我遇到了和你一样的错误,我无法在任何地方找到解决方案。事实上,g.size() is not a function错误的唯一引用就是这个问题,当时只有一次投票。

我的解决方案是找到一个实际工作的不同日期时间选择器

我找到了这个:https://github.com/xdan/datetimepicker,很容易上班:

  1. download the zip from github
  2. 包含文件:

    < link href =“./ js / datetimepicker-master / build / jquery.datetimepicker.min.css”rel =“stylesheet”> < script src =“./ js / datetimepicker-master / build / jquery.datetimepicker.full.min.js”>< / script>

  3. 此HTML

    < input id =“datetimepicker”type =“text”/>

  4. 这个JS

    $ datetimepicker.setLocale( 'EN');
    $( '#的DateTimePicker')的DateTimePicker();

  5. 我得到了这个并且在我浪费的时间的一小部分工作中试图让bootstrap datetimepicker停止给我g.size()错误。

    当然还有许多其他日期时间选择器:

    有关更多选项,请参阅此帖子:whats-a-good-javascript-time-picker

答案 1 :(得分:9)

在jQuery版本3中删除了

.size(),而是使用.length

在您的示例中,将g.size()替换为g.length

答案 2 :(得分:7)

g.size错误是开发人员所知的,并且存在更新版本的jquery。

如果您希望使用该datetimepicker,请返回jquery 2.1.4或更早版本。

此处列出了错误:

https://github.com/Eonasdan/bootstrap-datetimepicker/issues/1714

答案 3 :(得分:3)

检查你的jQuery版本。我使用最新的(3.1.1)我使用的一些插件抛出了这个错误。

根据文档:.size()方法从jQuery 1.8开始不推荐使用。请改用.length属性。

(已在3.0中删除)

因此,简单回滚到3.0之前的版本就可以了。

编辑:哎呀,正如A. Wolff在评论中所说。

编辑2:另一件事......如果你想让你的jquery版本保持最新,你可以将jquery-migrate插件包含到你的项目中 - https://github.com/jquery/jquery-migrate

答案 4 :(得分:1)

请使用最新的bootstrap-datetimepicker摆脱此问题。我使用了以下版本,错误消失了。

<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