Beer75,если немного переделать твои фантазии
<div id="myCalendar_div"></div>
<script>
class MyCalendar {
outputDiv = null;
constructor(oDiv){
// вычисляем текущую дату, необходимые параметры
this.outputDiv = document.querySelector("#"+oDiv);
}
renderCalendar(){
// вывод сетки календаря
// вывод двух ссылок, на следующий месяц и предыдущий
this.outputDiv.innerHTML = '<span id="prevMonth">пред</span> <span id="nextMonth">след</span>';
prevMonth.addEventListener('click', e => this.prevMonth())
nextMonth.addEventListener('click', e => this.nextMonth())
}
nextMonth(){
alert('nextMonth')
// вычисляем необходимые параметры
this.renderCalendar();
}
prevMonth(){
alert('prevMonth')
// вычисляем необходимые параметры
this.renderCalendar();
}
}
//
function onLoad(){
const o = new MyCalendar('myCalendar_div');
o.renderCalendar();
}
onLoad()
</script>