这似乎很简单,但是Im对JavaScript是全新的。我的页面上有一个链接。当您单击此链接2会发生。 1)使用html,页面跳至页面上引用的锚标签的位置。 2)包含链接的div会更改其背景颜色。
的HTML
<a href="#abcd" onclick="makeRed(this.href);">Link to div on page</a>
<div id="abcd">
<a name="abcd">Not a clickable link.</a>
</div>
JS
function makeRed(x) {
var highlight=x.slice(-4);
document.getElementsByName(highlight).parentNode.style.backgroundColor="red";
}
Firebug告诉我document.getElementsByName(highlight).parentNode是未定义的,这是我感到困惑的地方。
最佳答案
更换
document.getElementsByName(highlight).parentNode.style.backgroundColor="red";
与
document.getElementsByName(highlight)[0].parentNode.style.backgroundColor="red";
因为getElementsByName返回一个数组