Crea un calendario
Escribe una función createCalendar(elem, year, month).
Su llamado debe crear un calendario para el año y mes dados y ponerlo dentro de elem.
El calendario debe ser una tabla, donde una semana es <tr>, y un dÃa es<td>. Los encabezados de la tabla deben ser <th> con los nombres de los dÃas de la semana: el primer dÃa debe ser âlunesâ y asà hasta âdomingoâ.
Por ejemplo, createCalendar(cal, 2012, 9) debe generar en el elemento cal el siguiente calendario:
P.S. Para esta tarea es suficiente generar el calendario, no necesita aún ser cliqueable.
Crearemos la tabla como un string: "<table>...</table>", y entonces lo asignamos a innerHTML.
El algoritmo:
- Crea el encabezado de la tabla con
<th>y los nombres de los dÃas de la semana. - Crea el objeto date
d = new Date(year, month-1). Este es el primer dÃa del mesmonth(tomando en cuenta que los meses en JavaScript comienzan en0, no1). - Las primeras celdas hasta el primer dÃa del mes
d.getDay()podrÃan estar vacÃas. Las completamos con<td></td>. - Incrementa el dÃa en
d:d.setDate(d.getDate()+1). Sid.getMonth()no es aún del mes siguiente, agregamos una nueva celda<td>al calendario. Si es domingo, agregamos un nueva lÃneaâ</tr><tr>â. - Si el mes terminó, pero la fila no está completa, le agregamos
<td>vacÃos para hacerlo rectangular.