Используйте все,что душе угодно,рынок огромен и не факт что jquery не выстрелит новой волной,как это сделал js много лет назад.
Знать нужно,а вот использовать сейчас можно react,angular - vue сырой продукт,я бы не советовал
Проблема в том,что вы передаете в функцию при вызове.У этого параметра нет свойства database.
Допустим вы передаете объект { x1=0, x2=1,x3=2}
Скрипт пробует найти здесь database,а следом применить метод ban().
Он не находит его и выдает ошибку о том,что такого свойства нет.
Покажите код того,что вы передаете - иначе дальше разбора выше мы не уйдем.
$(".mainimage").click(function () { //ID кнопки для увеличения
$(".fancybox-placeholder").append('<div>Текст нужный</div>'); //Добавление блока перед img
});