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

如何在document.write中输出链接?附JavaScript课程时间表实现需求及代码片段

解决在document.write中输出Zoom链接的问题

嘿,我来帮你搞定这个问题!首先先纠正你代码里的两个小细节:一是document.writeln的字符串没闭合(结尾少了引号),二是getDay()返回的是0(周日)到6(周六)的数字,你的判断逻辑没问题,但要注意语法严谨性。

直接用document.write输出链接的方法

document.write可以直接输出HTML标签,所以你只需要把Zoom链接写成标准的<a>标签格式就行,比如:

function myFunction() {
  var d = new Date();
  var n = d.getDay();
  document.getElementById("demo").innerHTML = n;

  if (n == 1) {
    document.writeln("<h3>Monday</h3>");
    document.writeln("You have 2 classes today:<br>");
    // 输出Class X的Zoom链接
    document.writeln("- Class X: <a href='https://your-zoom-link-for-x.com' target='_blank'>Join Zoom Meeting</a><br>");
    // 输出Class Y的Zoom链接
    document.writeln("- Class Y: <a href='https://your-zoom-link-for-y.com' target='_blank'>Join Zoom Meeting</a>");
  }
}

这里的核心要点:

  • 用<a href='你的Zoom链接'>链接文本</a>的格式生成可点击的链接
  • 添加target='_blank'可以让链接在新窗口打开,用户不用离开课程表页面,体验更友好
  • 注意引号配对:如果HTML标签里用单引号,外面的字符串就用双引号,反过来也行,避免语法冲突

更推荐的写法:用innerHTML操作DOM

其实document.writeln有个容易踩的坑——如果在页面加载完成后调用这个函数,它会覆盖整个页面的内容,这显然不是你想要的。更安全的做法是把内容拼接好,插入到指定的DOM元素里,比如你已经用到的demo元素:

function myFunction() {
  var d = new Date();
  var n = d.getDay();
  var demoElement = document.getElementById("demo");
  let scheduleContent = "";

  // 根据日期生成课程内容
  switch(n) {
    case 1: // 周一
      scheduleContent += "<h3>Today is Monday</h3>";
      scheduleContent += "<p>Your classes:</p>";
      scheduleContent += "<ul>";
      scheduleContent += "<li>Class X: <a href='https://zoom-x.example.com' target='_blank'>Join Zoom Meeting</a></li>";
      scheduleContent += "<li>Class Y: <a href='https://zoom-y.example.com' target='_blank'>Join Zoom Meeting</a></li>";
      scheduleContent += "</ul>";
      break;
    case 2: // 周二
      scheduleContent += "<p>Your class today: Class Z, <a href='https://zoom-z.example.com' target='_blank'>Join Zoom Meeting</a></p>";
      break;
    case 0: // 周日
      scheduleContent += "<p>It's Sunday, no classes today 😎</p>";
      break;
    // 其他天数可以继续补充
    default:
      scheduleContent += "<p>No classes scheduled today</p>";
  }

  // 把内容插入到页面指定位置
  demoElement.innerHTML = scheduleContent;
}

这种方法的优势:

  • 不会覆盖整个页面,只会更新你指定的区域
  • 代码结构更清晰,后续添加其他天数的课程也更方便
  • 更容易维护和修改样式(比如给课程列表加CSS样式)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 05:27:41