You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否修改FullCalendar 5 dayGridMonth视图标题的h2标签为h3?

修改FullCalendar 5 dayGridMonth视图头部年月标签为h3

当然可以修改,以下是两种可行的实现方式:

方法一:自定义标题内容(推荐)

通过FullCalendar提供的titleContent回调函数,直接渲染h3标签替代默认的h2:

document.addEventListener('DOMContentLoaded', function() {
  var calendarEl = document.getElementById('calendar');
  var calendar = new FullCalendar.Calendar(calendarEl, {
    initialView: 'dayGridMonth',
    headerToolbar: {
      left: 'prev,next today',
      center: 'title',
      right: 'dayGridMonth,timeGridWeek,timeGridDay'
    },
    titleContent: function(arg) {
      return '<h3>' + arg.date.toLocaleDateString('default', { year: 'numeric', month: 'long' }) + '</h3>';
    }
  });
  calendar.render();
});

这种方法完全遵循FullCalendar的API设计,无需直接操作DOM,兼容性和稳定性更强。

方法二:DOM操作替换标签

如果不想自定义标题渲染逻辑,也可以在视图加载完成后,通过DOM选择器替换标签:

document.addEventListener('DOMContentLoaded', function() {
  var calendarEl = document.getElementById('calendar');
  var calendar = new FullCalendar.Calendar(calendarEl, {
    initialView: 'dayGridMonth',
    headerToolbar: {
      left: 'prev,next today',
      center: 'title',
      right: 'dayGridMonth,timeGridWeek,timeGridDay'
    },
    viewDidMount: function() {
      const titleH2 = calendarEl.querySelector('.fc-toolbar-title');
      if (titleH2) {
        const titleH3 = document.createElement('h3');
        titleH3.textContent = titleH2.textContent;
        titleH3.className = titleH2.className;
        titleH2.parentNode.replaceChild(titleH3, titleH2);
      }
    }
  });
  calendar.render();
});

注意:这种方法依赖FullCalendar的DOM类名(.fc-toolbar-title),若后续版本类名变更可能失效,因此更推荐第一种方法。


内容的提问来源于stack exchange,提问作者pixelshrink

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 08:35:30