G.size() не является функцией - JQuery Error

Я пытаюсь использовать bootstrap datetimepicker и иметь все компоненты на моих сценариях, таких как Moment JS, bootstrap-date-time js и bootstrap js, но я получаю g.size() не является функциональной ошибкой. Я пытаюсь запустить следующую функцию

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

Ответ 1

У меня была такая же ошибка, как и вы, и я не мог найти решение для нее нигде. Фактически единственной ссылкой на ошибку g.size() is not a function был этот вопрос, в то время только с одним проголосованием.

Мое решение состояло в том, чтобы найти другой сборщик данных, который фактически работал

Я нашел это: https://github.com/xdan/datetimepicker, было довольно легко работать:

  • скачать zip из github
  • Включите файлы:

    < 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( 'ан');
    $ ( '# DateTimePicker') DateTimePicker();.

Я получил это и работал в крошечной части времени, которое я потратил впустую, пытаясь заставить bootstrap datetimepicker перестать давать мне ошибку g.size().

Конечно, есть много других сборщиков времени и времени:

См. это сообщение для многих других опций: whats-a-good-javascript-time-picker

Ответ 2

Ошибка g.size известна разработчиками и существует с более новыми версиями jquery.

Если вы хотите использовать этот datetimepicker, вернитесь к jquery 2.1.4 или ранее.

Ниже приведена ошибка:

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

Ответ 3

.size() был удален в версии 3 jQuery, вместо этого используйте .length.

В вашем примере замените g.size() на g.length.

Ответ 4

Проверьте версию jQuery. Я использовал последние (3.1.1) некоторые плагины, которые я использовал, выбрасывали эту ошибку.

в соответствии с документами: метод .size() устарел от jQuery 1.8. Вместо этого используйте свойство .length.

(он был удален в версии 3.0)

поэтому простой откат к версии до 3.0 сделал трюк.

edit: whoops, как говорит А. Вольф в комментариях.

edit 2: еще одна вещь... если вы хотите сохранить свою версию jquery в актуальном состоянии, вы можете включить плагин jquery-migrate в свой проект - https://github.com/jquery/jquery-migrate