javascript - .style.color 正在工作,但仍会引发错误
问题描述
我正在尝试通过更改颜色来使 HTML 段落元素出现。我设置特定元素(多个元素,它在 for 循环内)样式的行抛出错误。它工作正常,但在那一行之后我什么也做不了,因为错误停止了它。
这是代码(它被 chrome 工具停止)。你可以看到该元素已定义,如果我将鼠标悬停在它上面会显示我需要的确切元素。
错误消息说该元素未定义,但我绝对确定它是,我不知道该怎么做。
const letterIndex = findIndexOfLetter(word, letter.innerHTML);
for (w = 0; w <= letterIndex.length; w++) {
var theLetter = wordLetters[letterIndex[w]]
theLetter.style.color = "azure";
}
解决方案
当用循环遍历一个数组(或类似数组的集合,在这里不重要)时for
,你去
for (let i = 0; i < collection.length; i++) { //...
并不是
for (let i = 0; i <= collection.length; i++) { //...
使用<=
停止条件,最后一次迭代在数组之外。
推荐阅读
- java - 处理函数之外的资源的 AWS 容器重用和同步
- python-3.x - 如果从命令行调用一个类而不是在代码中调用一个类,python 中是否有办法运行不同的函数?
- powerbi - Power BI 计算多级矩阵中两列之间的差异
- c# - 关于解决问题的最佳方法的建议 - C# Windows 表单(列表框、文本框、用户输入)
- javascript - 让 TestCafe 显示一个对象差异
- sql - MS Access SQL - 当 WHERE 语句引用第一个查询时如何组合 2 个查询
- redirect - .HTACCESS 重定向问题:在 URL Slug 之前的 index.php
- powershell - 使用 powershell 访问 JSON 数字属性值?
- javascript - 不使用脚本编辑器和谷歌表单无法在 googlesheet 中发送 html 表单数据
- javascript - 将鼠标拖动到附加的 div 上时更改样式