JavaScript使用链接更改div颜色

JavaScript使用链接更改div颜色,javascript,html,onclick,getelementsbyname,parent-node,Javascript,Html,Onclick,Getelementsbyname,Parent Node,这看起来很简单,但我对JavaScript是全新的。我的页面上有一个链接。当你点击这个链接时,会发生两件事。1) 使用html,页面跳转到页面上引用的锚标记的位置。2) 保存链接的div会更改其背景色 HTML Firebug告诉我document.getElementsByName(突出显示)。parentNode未定义,这就是我感到困惑的地方。替换 document.getElementsByName(highlight).parentNode.style.backgroundColor="

这看起来很简单,但我对JavaScript是全新的。我的页面上有一个链接。当你点击这个链接时,会发生两件事。1) 使用html,页面跳转到页面上引用的锚标记的位置。2) 保存链接的div会更改其背景色

HTML

Firebug告诉我document.getElementsByName(突出显示)。parentNode未定义,这就是我感到困惑的地方。

替换

document.getElementsByName(highlight).parentNode.style.backgroundColor="red";

document.getElementsByName(突出显示)[0].parentNode.style.backgroundColor=“红色”

因为getElementsByName返回一个数组

document.getElementsByName(highlight).parentNode.style.backgroundColor="red";

document.getElementsByName(突出显示)[0].parentNode.style.backgroundColor=“红色”

由于getElementsByName返回一个数组

返回一个列表(因此是“…元素…”,而不是“…元素…”)。列表没有父节点

使用
getElementById
引用具有给定id的单个元素,或者迭代getElementsByName返回的列表,直到找到要查找的确切元素。

返回列表(因此是“…元素…”,而不是“…元素…”)。列表没有父节点


使用
getElementById
引用具有给定id的单个元素,或者迭代getElementsByName返回的列表,直到找到要查找的确切元素。

可以尝试document.getElementById(“abcd”)尝试document.getElementsByName(高亮显示)[0]可以尝试document.getElementById(“abcd”)请尝试document.getElementsByName(突出显示)[0]谢谢。我在中添加了一个没有href的id,并用getElementById而不是getElementsByName引用,它成功了。谢谢。我在中添加了一个没有href的id,并用getElementById而不是getElementsByName引用,它起了作用。这也起了作用。我给你正确的答案,因为使用你的方法,我不必在我的标签上添加额外的ID。这同样有效。我给你正确的答案,因为使用你的方法,我不必在我的标签上添加额外的ID。
document.getElementsByName(highlight).parentNode.style.backgroundColor="red";