javascript - getElementById 在类方法中不起作用
问题描述
HTML:
<div id='verse'>
<p id='text'>
<span id = 'reference'>random stuff here</span>
random stuff here
</p>
</div>
JS:
class Verse {
...
update() {
document.getElementById('text').innerHTML = 'text';
document.getElementById('reference').innerHTML = 'reference';
}
...
}
每当我调用.update
. 也不适用于 innerText 。如果我在课堂外更改它,它工作正常。谢谢您的帮助!Verse
TypeError: Cannot set properties of null
解决方案
设置innerHTML
on会完全#text
替换整个内容<p>
,因此当您随后尝试访问时#reference
,它不再存在。
避免这种情况的最简单方法是添加另一个 span 并替换其文本而不是整个<p>
.
<div id='verse'>
<p>
<span id='reference'>random stuff here</span>
<span id='text'>random stuff here</span>
</p>
</div>
推荐阅读
- python - 如何更改 Pycharm 解释器以使用 Anaconda?
- java - 方向更改后片段为空
- angular - 使用 Angular 的 Express Auth 中间件
- node.js - 如何以 zip 格式下载具有云功能的 Firebase 存储中的文件夹(包括文件)并在本地下载
- javascript - React native 从 http 播放 mp3 声音而不使用原生组件
- python - 用python遍历一个大的csv文件中的每个url,读取它并获取它的json,然后将它们全部保存到新的csv文件中
- java - 如何从容器内连接 zabbix api?
- node.js - NodeJS&Glob:从一个字符串中的全局选择中排除具有任意文件扩展名的任意文件
- assembly - 下面代码中源索引寄存器的作用是什么?
- jquery - 如何在鼠标悬停时播放引导 4 轮播,并在页面加载时禁用自动播放?