gpt4 book ai didi

javascript - 未捕获的类型错误 : cannot set property 'backgroundColor' of undefined javascript

转载 作者:行者123 更新时间:2023-12-03 06:36:10 25 4
gpt4 key购买 nike

我正在创建一个 HTML 音乐制作程序。我目前正在开发注释系统,当您单击注释时,它会将颜色切换为黑色。但是,当我使用 Javascript 函数时,它显示错误 Uncaught TypeError: Cannot set property 'backgroundColor' of undefined

<小时/>这是我的 JavaScript。它不完整,但如果有人可以提供帮助,那就太好了。

var pattern = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
function switchNote(num, note) {
var trId = document.getElementsByTagName("tr")[note + 8].id;
pattern[num] = note;
document.getElementById(trId).lastChild.style.backgroundColor = "#000";
return "switched";
}

最佳答案

这表明.lastChild不是 DOM 元素(.nodeType1 的节点)。 lastChild是一个 textNode 或 commentNode 并且它没有 style属性(property)。

您可以使用lastElementChild用于获取最后一个元素子元素的属性。

另一个选项是使用 .children属性:

var children = [].slice.call(element.children);
var last = children[children.length - 1];
// for getting the last 2 children of the element:
// var last2 = children.slice(-2);

请注意,如果document.getElementsByTagName("tr")[note + 8]返回目标元素,则无需使用 document.getElementById 重新查询 DOM方法。 ID 必须是唯一的并且读取 .id元素的属性,用于通过 .getElementById 再次获取它没有多大意义。

关于javascript - 未捕获的类型错误 : cannot set property 'backgroundColor' of undefined javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38193594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com