JSFiddle - React, Tailwind, and code Playground

HTML

<a href="#" class="back">Back</a>
	<a href="#" class="next">Next</a>

JavaScript

function calendar(d) {

  $("#calendar").remove();
  $("body").append("<table border='1' id='calendar'></table>");

  // Date vars
  var today = new Date(d);
  var month = today.getMonth();
  var day = today.getDay();
  var dayN = today.getDate();
  var week = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
  var monthdays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  var days = monthdays[month];
  var monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

  // Determine if leap year, if not, set to current year
  if (month > 0) {
    year = today.getYear();
    if (year % 4 == 0) {
      days = 29;
    }
  }

  // Parse vars
  var jumped = 0;
  var inserted = 1;
  var start = day - dayN % 7 + 1;
  if (start < 0) start += 7;
  var weeks = parseInt((start + days) / 7);
  if ((start + days) % 7 != 0) {
    weeks++;
  }

  $("#calendar").append("<tr><td class='month' colspan='7'>" + monthNames[month] + " - " + today.getFullYear() + "</td></tr>");



  function datDate(m, n, y) {
    date = new Date(" " + monthNames[m] + " " + n + " " + y);
    return date;
  }

  for (var i = weeks; i > 0; i--) {
    if (i === i) {
      $("#calendar").append("<tr class=" + i + "></tr>");
      for (var j = 0; j < 7; j++) {
        console.log(inserted);
        if (jumped < start || inserted > days) {
          $("." + i).append("<td> </td>");
          jumped++;
        } else {
          m = month;
          n = inserted;
          y = today.getFullYear();
          date = datDate(m, n, y);
          if (inserted == dayN) {
            $("." + i).append("<td><a class='calendar_date current_date' data-date='" + date + "'>[" + n + "]</a></td>");
          } else {
            $("." + i).append("<td><a class='calendar_date' data-date='" + date + "'>" + n + "</a></td>");
          }
          inserted++;
        }
      }
    }
  }
}

b_current = new...