В большинстве случаев ошибка Uncaught TypeError: $ is not a function связана с библиотекой jQuery. Вариантов несколько: либо библиотека просто не подключена, либо переменная $ используется другой библиотекой.
В первом случае проверьте подгружается ли библиотека до вызова. Проверьте нет ли библиотек, которые отдают ошибку 404. В консоли библиотек должна возвращать статус 304 или 200.
Скачать последнюю версию jQuey можно на официальном сайте или на нашем сайте в конце статьи.
Во втором случае проблема посложнее. Многие библиотеки JavaScript используют $как функция или имя переменной, так же как это делает Jquery. В случае Jquery, в $ это просто псевдоним jQuery, так что все функции доступны без использования $. Если вам нужно использовать другую библиотеку JavaScript наряду с JQuery, вернуть управление $ обратно в другую библиотеку с вызовом $.noConflict(). Так же можно использовать jQury вместо $.
Так, вместо
$("div p").hide();
используйте
jQuery("div p").hide();