javascript - 错误:无法在控制台中读取 null 的属性“insertAdjacentHTML”
问题描述
我有一些代码,但问题是它给了我一个错误:'Cannot read property 'insert-adjacent HTML' of null'。当我放这个时它来了:
let lastone = document.querySelector('.calender p:last-of-type');
lastone.insertAdjacentHTML("afterend", getDayMarkUp());
function getDayMarkUp() {
<p class="day"></p>
}
但是当我放这个时我没有错误:
let lastone = document.querySelector('p:last-of-type');
lastone.insertAdjacentHTML("afterend", getDayMarkUp());
function getDayMarkUp() {
<p class="day"></p>
}
HTML:
<p></p> <!-- I need this paragraph! -->
<section class="calendar">
<p>sun</p>
<p>Mon</p>
<p>Tue</p>
<p>Wed</p>
<p>Thur</p>
<p>Fri</p>
<p>Sat</p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</section>
你能告诉我为什么会出现错误,如果可能的话,你如何解决它?
解决方案
您有多种可能性:
- “日历”类的段落:
document.querySelector('p.calender:last-of-type')
- 具有“p”和“calender”类的元素:
document.querySelector('.p.calender:last-of-type')
- 选择所有元素,无论是段落元素还是日历类:
document.querySelectorAll('.calendar, p:last-of-type')
- 具有“日历”类的元素中的段落将使用您的错误抛出代码,因此显然这不是您想要的。
推荐阅读
- ansible - 如何从 ansible 事实中提取特定值
- python - 整个测试套件的 Python3 单元测试设置和拆卸
- php - 获取发送的 Laravel 路由器输出
- java - Java继承:为什么不调用子类的方法?
- laravel - laravel nova 登录后路由重定向
- linux - GTK2 vs. GTK3:在 bash 脚本中检测 GTK3 主题
- spring - 如何在 Spring 响应式中执行“onErrorFlatMap”之类的操作并保持“错误轨道”?
- xml - 如何在列表框中保留一定数量的项目
- python - 如何从导入的 csv 在 QGIS 中创建 pandas 数据框?
- java - 插入数据库的 Java 注释