javascript -
问题描述
我正在尝试为视频播放器制作章节,但是我遇到了一些困难。当您运行下面的代码时,测试 li 会出现或不显示视频,但如果您取消注释这两行,li 就会消失。看起来页面在脚本之前没有加载,但我找到的解决方案对我没有帮助。问题是什么?
<!DOCTYPE html>
<html lang="ru">
<head>
<title>
Video Player
</title>
</head>
<body>
<video id="video" width="800" height="600" autoplay controls>
<source src="Video.mp4" type="video/mp4">
<track id="track" src="Video.vtt" kind="chapters" srclang="en">
</video>
<ol id="Chapters">
<!---There chapters will be--->
</ol>
<script type="text/javascript">
// let Video = document.getElementById("video");
// let Tracks = Video.getElementById("track");
let Chapt = document.getElementById("Chapters");
let Text = document.createTextNode("test");
let li = document.createElement("li");
Chapt.append(li);
li.appendChild(Text);
</script>
</body>
</html>
解决方案
那是因为document.getElementById("video")
正在返回一个DOM "Element" object。Element
对象没有 method getElementById
,这仅仅是因为 for 的值id
应该在文档中只出现一次。
对您的代码的修复是使用:document.getElementById("track")
.
推荐阅读
- installation - 高级安装程序如何检查安装目录是否为空
- c++ - 无法使用 Code::Blocks (20.03) 在 C++ 中构建 hello world,操作系统:Linux
- ios - 向 Xcode 项目添加“访问 wifi 信息功能”的问题
- c++ - 有很多成员的班级
- python - 在 groupby Python 之后查找配对记录
- firebase - 如何在颤振中使用 sharedPreference 以使用 setBool 和 GetBool 保持用户在颤振中登录
- permissions - 没有权限使用 psql 的 root
- javascript - 防止对可缓存响应的重复 HTTP 请求
- docker - docker-compose & Dockerfile:添加失败:未指定源文件
- php - PHP:检查反射类是否有构造函数?