javascript - 尝试使用 JavaScript 更改元素的颜色,但出现未定义错误
问题描述
如果这听起来很愚蠢,我很抱歉,但在 3 小时试图找到答案后,我不知所措。我刚开始为一个大学项目学习 Javascript。
因此,我尝试使用 Javascript 动态更改页面中某些元素的颜色,虽然这适用于页脚等唯一元素,但在 p 等元素中出现“未捕获的类型错误:无法读取未定义的属性'样式'”或h4。我按照我在这个线程上阅读的内容:如何使用 javascript 设置 H1 的颜色? 但我仍然收到错误消息。这是我的代码:
const lightButton = document.getElementById("lighting_button");
console.log(lightButton);
const paragraph = document.querySelectorAll("p");
//console.log(p);
//console.log(contentHeader);
const bodyOfFile = document.body;
lightButton.addEventListener('click', (e) => {
if(lightButton.textContent === "Dark Mode"){
document.body.style.backgroundColor = "#1a1a1a";
document.querySelector('#footer').style.color = "#e6e6e6";
const contentHeader = document.querySelectorAll("h4");
for(let j=0; contentHeader.length-1; j++){
contentHeader[j].style.color = "#ffffff";
}
for(let i=0; paragraph.length-1; i++){
paragraph[i].style.color = "#e6e6e6";
}
}
});
最奇怪的是,即使出现错误,它也确实使我的 h4 变白。任何帮助将非常感激。
解决方案
快速浏览了您的代码,如果我没记错的话,您的循环语法不正确尝试在两个循环中替换
for(let j=0; j<contentHeader.length;j++
for 循环中的中间语句不正确,它应该是一个返回 true 的条件,在您的情况下,它只是在尝试对于 i=contentHeader.length-1
推荐阅读
- json - 如何解组到结构中以避免类型断言
- r - 如何获取多样性功能并将其添加为列
- spring-boot - Spring Boot 无法读取 docker-compose 环境变量
- php - 在php数组中使用foreach?
- sql - Hive Query,有什么好的方法可以优化这些联合吗?
- r - 有条件地删除 R 中的行
- java - CMD、C# 和 Java 不允许我使用在同一行设置的环境变量
- prolog - 使用 mondial - prolog 具有最长陆地边界的谓词
- reactjs - 将状态传递给 {children} React hook
- regex - 如何 grep 某些内容并防止该短语出现在结果中?